{"action":"created","issue":{"url":"https://api.github.com/repos/frostwire/frostwire-desktop/issues/376","labels_url":"https://api.github.com/repos/frostwire/frostwire-desktop/issues/376/labels{/name}","comments_url":"https://api.github.com/repos/frostwire/frostwire-desktop/issues/376/comments","events_url":"https://api.github.com/repos/frostwire/frostwire-desktop/issues/376/events","html_url":"https://github.com/frostwire/frostwire-desktop/pull/376","id":50322162,"number":376,"title":"integrate btdigg search api (issue #198)","user":{"login":"bill-auger","id":1642691,"avatar_url":"https://avatars.githubusercontent.com/u/1642691?v=3","gravatar_id":"","url":"https://api.github.com/users/bill-auger","html_url":"https://github.com/bill-auger","followers_url":"https://api.github.com/users/bill-auger/followers","following_url":"https://api.github.com/users/bill-auger/following{/other_user}","gists_url":"https://api.github.com/users/bill-auger/gists{/gist_id}","starred_url":"https://api.github.com/users/bill-auger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bill-auger/subscriptions","organizations_url":"https://api.github.com/users/bill-auger/orgs","repos_url":"https://api.github.com/users/bill-auger/repos","events_url":"https://api.github.com/users/bill-auger/events{/privacy}","received_events_url":"https://api.github.com/users/bill-auger/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2014-11-27T20:36:14Z","updated_at":"2015-01-09T21:31:41Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/frostwire/frostwire-desktop/pulls/376","html_url":"https://github.com/frostwire/frostwire-desktop/pull/376","diff_url":"https://github.com/frostwire/frostwire-desktop/pull/376.diff","patch_url":"https://github.com/frostwire/frostwire-desktop/pull/376.patch"},"body":"initial btdigg implementation (issue #198)\r\n* depends on frostwire-common search-engines branch ([PR #7](https://github.com/frostwire/frostwire-common/pull/7))\r\n* sends GET request to api.btdigg.org and decodes response\r\n* de-serializes JSON response and passes objects to GUI\r\n* displays search results in the GUI\r\n* added documentation for the call chain initiated by search queries\r\n* added some simple GUI acceptance tests\r\n\r\nNOTES:\r\n* this feature appears to be working well but is not quite completed and many breadcrumbs left behind but i offer PR for evaluation and critique\r\n* results were hidden because a valid filename extension is required\r\n    for a proper result but this is not enforced and so was not obvious\r\n    the source of this bug took some digging to uncover and resulted in the callchain document included \r\n    the BtDigg results do not contain any filenames only magnet links so this was kludged for now\r\n\r\nTODO:\r\n* implement paged queries (capped at 10 results for now)\r\n* assert valid file extension for result or at least print something to console\r\n    indicating that the filetype of this result is unsupported \r\n    but is for some reason deemed acceptable although it will be inaccesible\r\n* add '.magnet' filetype or extension to '.torrent' filetype\r\n    adding .magnet filetype to the .torrent schema should be trivial - the only reason ive come across for a distinct .magnet filetype would be so that it could sport a different icon\r\n* connect details page (if it is not yet working) and add string for tooltip? in SearchMediator.java like:\r\n    static final String ARCHIVEORG_DETAILS_STRING = I18n.tr(\"View in Archive.org\");\r\n* figure out what is a Crawlable to ensure this is the proper *SearchPreformer class for JSON API paged queries\r\n* dry out AbstractTorrentSearchResult sublasses and move AbstractTorrentSearchResult to outer dir\r\n"},"comment":{"url":"https://api.github.com/repos/frostwire/frostwire-desktop/issues/comments/69402398","html_url":"https://github.com/frostwire/frostwire-desktop/pull/376#issuecomment-69402398","issue_url":"https://api.github.com/repos/frostwire/frostwire-desktop/issues/376","id":69402398,"user":{"login":"gubatron","id":163977,"avatar_url":"https://avatars.githubusercontent.com/u/163977?v=3","gravatar_id":"","url":"https://api.github.com/users/gubatron","html_url":"https://github.com/gubatron","followers_url":"https://api.github.com/users/gubatron/followers","following_url":"https://api.github.com/users/gubatron/following{/other_user}","gists_url":"https://api.github.com/users/gubatron/gists{/gist_id}","starred_url":"https://api.github.com/users/gubatron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gubatron/subscriptions","organizations_url":"https://api.github.com/users/gubatron/orgs","repos_url":"https://api.github.com/users/gubatron/repos","events_url":"https://api.github.com/users/gubatron/events{/privacy}","received_events_url":"https://api.github.com/users/gubatron/received_events","type":"User","site_admin":false},"created_at":"2015-01-09T21:31:41Z","updated_at":"2015-01-09T21:31:41Z","body":"this will need rebasing, as more work has been done in these areas.\r\n\r\nrebasing should be something along these lines from your branch (where `upstream` is an alias for the original repository)\r\n\r\n```\r\ngit fetch upstream master\r\ngit rebase upstream master\r\n```\r\n\r\nat which point conflicts will need to be solved"}}