{"action":"created","comment":{"url":"https://api.github.com/repos/pymedusa/Medusa/pulls/comments/86948255","pull_request_review_id":7579054,"id":86948255,"diff_hunk":"@@ -0,0 +1,154 @@\n+# coding=utf-8\n+# Author: Gonçalo M. (aka duramato/supergonkas) <supergonkas@gmail.com>\n+#\n+# URL: https://sickrage.github.io\n+#\n+# This file is part of SickRage.\n+#\n+# SickRage is free software: you can redistribute it and/or modify\n+# it under the terms of the GNU General Public License as published by\n+# the Free Software Foundation, either version 3 of the License, or\n+# (at your option) any later version.\n+#\n+# SickRage is distributed in the hope that it will be useful,\n+# but WITHOUT ANY WARRANTY; without even the implied warranty of\n+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n+# GNU General Public License for more details.\n+#\n+# You should have received a copy of the GNU General Public License\n+# along with SickRage. If not, see <http://www.gnu.org/licenses/>.\n+\n+from __future__ import unicode_literals\n+import re\n+\n+from requests.compat import urljoin\n+from requests.utils import dict_from_cookiejar\n+\n+from sickbeard import logger, tvcache\n+from sickbeard.bs4_parser import BS4Parser\n+\n+from sickrage.helper.common import convert_size, try_int\n+from sickrage.providers.torrent.TorrentProvider import TorrentProvider\n+\n+\n+class SceneEliteProvider(TorrentProvider):  # pylint: disable=too-many-instance-attributes\n+\n+    def __init__(self):\n+\n+        # Provider Init\n+        TorrentProvider.__init__(self, \"SceneElite\")\n+\n+        # Credentials\n+        self.username = None\n+        self.password = None\n+\n+        # Torrent Stats\n+        self.minseed = None\n+        self.minleech = None\n+        self.freeleech = None\n+\n+        # URLs\n+        self.url = \"https://sceneelite.org/\"\n+        self.urls = {\n+            \"login\": urljoin(self.url, \"/api/v1/auth\"),\n+            \"search\": urljoin(self.url, \"/api/v1/torrents\"),\n+            \"download\": urljoin(self.url, \"/api/v1/torrents/download/\"),\n+        }\n+\n+        # Proper Strings\n+        self.proper_strings = [\"PROPER\", \"REPACK\", \"REAL\"]\n+        cache_params = {\"RSS\": [\"\"]}\n+        # Cache\n+        self.cache = tvcache.TVCache(self, min_time=0.1, search_params=cache_params)\n+\n+    def login(self):\n+        if any(dict_from_cookiejar(self.session.cookies).values()):\n+            return True\n+\n+        login_params = {\n+            \"username\": self.username,\n+            \"password\": self.password\n+        }\n+\n+        response = self.get_url(self.urls[\"login\"], params=login_params, returns=\"json\")\n+        if not response:\n+            logger.log(\"Unable to connect to provider\", logger.WARNING)\n+            return False\n+        return True\n+\n+    def search(self, search_strings, age=0, ep_obj=None):  # pylint: disable=too-many-locals, too-many-branches\n+        results = []\n+        if not self.login():\n+            return results\n+\n+        # Search Params\n+        search_params = {\n+            \"extendedSearch\": 'false',\n+            \"hideOld\": 'false',\n+            \"index\": '0',\n+            \"limit\": '100',\n+            \"order\": 'asc',\n+            \"page\": 'search',\n+            \"sort\": 'n',\n+            \"categories[0]\": 3,\n+            \"categories[1]\": 6,\n+            \"categories[2]\": 7\n+        }\n+\n+        for mode in search_strings:\n+            items = []\n+            logger.log(\"Search Mode: {0}\".format(mode), logger.DEBUG)\n+\n+            for search_string in search_strings[mode]:\n+                if mode != \"RSS\":\n+                    logger.log(\"Search string: {0}\".format\n+                               (search_string), logger.DEBUG)\n+                    search_params[\"searchText\"] = search_string\n+                else: \n+                    search_params[\"page\"] = 'last_seriebrowse'\n+                results = []\n+                search_url = self.urls[\"search\"]\n+                try:\n+                    jdata = self.get_url(search_url, params=search_params, returns=\"json\") \n+                except ValueError:\n+                    logger.log(\"No data returned from provider\", logger.DEBUG)\n+                    continue\n+                for torrent in jdata:\n+                    try:\n+                        title = torrent.pop(\"name\", \"\")\n+                        id = str(torrent.pop(\"id\", \"\"))\n+                        if not id:\n+                            continue\n+                        seeders = try_int(torrent.pop(\"seeders\", \"\"), 1)\n+                        leechers = try_int(torrent.pop(\"leechers\", \"\"), 0)\n+                        freeleech = torrent.pop(\"frileech\")\n+                        if self.freeleech and freeleech != 1:\n+                            continue\n+                        size = try_int(torrent.pop(\"size\", \"\"), 0)\n+                        download_url = self.urls[\"download\"] + id\n+\n+                        # Filter unseeded torrent\n+                        if seeders < min(self.minseed, 1):\n+                            if mode != 'RSS':\n+                                logger.log(u\"Discarding torrent because it doesn't meet the minimum seeders: {0}. Seeders: {1})\".format(title, seeders), logger.DEBUG)\n+                            continue\n+\n+                        item = {'title': title, 'link': download_url, 'size': size, 'seeders': seeders, 'leechers': leechers, 'pubdate': None, 'hash': None}\n+\n+                        if mode != \"RSS\":\n+                            logger.log(\"Found result: {0} with {1} seeders and {2} leechers\".format\n+                                      (title, seeders, leechers), logger.DEBUG)\n+\n+                        items.append(item)\n+\n+                    except StandardError:\n+                        continue\n+                        ","path":"sickbeard/providers/sceneelite.py","position":146,"original_position":146,"commit_id":"44f2d57fd33a56bbf42da4dacf4d38bbbd6c76b0","original_commit_id":"44f2d57fd33a56bbf42da4dacf4d38bbbd6c76b0","user":{"login":"codacy-bot","id":19940114,"avatar_url":"https://avatars.githubusercontent.com/u/19940114?v=3","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://www.codacy.com/assets/images/favicon.png) Issue found: [Trailing whitespace](https://www.codacy.com/app/pymedusa/Medusa/file/4396602651/issues/source?bid=3722120&fileBranchId=3887711#l146)","created_at":"2016-11-08T09:09:54Z","updated_at":"2016-11-08T09:09:54Z","html_url":"https://github.com/pymedusa/Medusa/pull/1511#discussion_r86948255","pull_request_url":"https://api.github.com/repos/pymedusa/Medusa/pulls/1511","_links":{"self":{"href":"https://api.github.com/repos/pymedusa/Medusa/pulls/comments/86948255"},"html":{"href":"https://github.com/pymedusa/Medusa/pull/1511#discussion_r86948255"},"pull_request":{"href":"https://api.github.com/repos/pymedusa/Medusa/pulls/1511"}}},"pull_request":{"url":"https://api.github.com/repos/pymedusa/Medusa/pulls/1511","id":92736023,"html_url":"https://github.com/pymedusa/Medusa/pull/1511","diff_url":"https://github.com/pymedusa/Medusa/pull/1511.diff","patch_url":"https://github.com/pymedusa/Medusa/pull/1511.patch","issue_url":"https://api.github.com/repos/pymedusa/Medusa/issues/1511","number":1511,"state":"open","locked":false,"title":"Feature/indexer/tmdb","user":{"login":"p0psicles","id":1331394,"avatar_url":"https://avatars.githubusercontent.com/u/1331394?v=3","gravatar_id":"","url":"https://api.github.com/users/p0psicles","html_url":"https://github.com/p0psicles","followers_url":"https://api.github.com/users/p0psicles/followers","following_url":"https://api.github.com/users/p0psicles/following{/other_user}","gists_url":"https://api.github.com/users/p0psicles/gists{/gist_id}","starred_url":"https://api.github.com/users/p0psicles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p0psicles/subscriptions","organizations_url":"https://api.github.com/users/p0psicles/orgs","repos_url":"https://api.github.com/users/p0psicles/repos","events_url":"https://api.github.com/users/p0psicles/events{/privacy}","received_events_url":"https://api.github.com/users/p0psicles/received_events","type":"User","site_admin":false},"body":"Added tmdb indexer.\r\n\r\nMain reason for now, is to see what's still required to add additional indexers. Like for example, how usable are indexers that can't make use of the scene name exceptions. Or other services which require a thetvdb id.\r\n\r\nA followup will be adding the tvmaze indexer. As is waiting in #145 \r\n\r\n### Log:\r\n\r\nThis is a list to document what needs to be taken care of when implementing a new indexer. I'll update this as I move along.\r\n- [x] Show search by name\r\n- [x] Show search by id, indexing the show attributes, seasons, episodes, banner, etc. `Is working, except for the banner.`\r\n- [x] Episode titles / summaries (episode titles not yet visible, small issue)\r\n- [x] Poster and Banners are downloaded. But for now i'm using the 'original' quality. Meaning in some cases, very large images. Maybe we should decide on a different image size.\r\n- [ ] Add metadata creation\r\n- [ ] Add banner and poster support if available\r\n- [ ] Add actors information (Used for metadata creation)\r\n- [ ] Add multilingual support, (seach shows, get show data, get episode data and get images in the locale configured).\r\n- [ ] Add timezone and network information\r\n- [ ] Add indexer mappings (when indexer providers indexer ids to other indexers)\r\n- [ ] Add the indexer icon\r\n- [ ] Lot's of cleanup of the tvdbv2 indexer files (pep8, snake_case, unicode_literals)\r\n- [ ] Add new unit tests @ratoaq2 could really need some help here.\r\n- [ ] Implement a new method for show updating, as we cannot use the old tvdb xml's anymore.\r\n- [ ] TMDB gives back a list with supported languages. Maybe we can utilize that.\r\n\r\n### Tvdb Apiv2 Lib related\r\n- [ ] Make sure the api returns unicode. Test by searching: 'guide to pretty'. Currently i've adjusted the mapping for the Series modal. Need to also check for others, like episode, actors, etc.\r\n- [ ] Pass the indexer requests object. This will improve caching.\r\n- [ ] Add searching with apostophes '.\r\n### showUpdates related\r\n\r\nMore info: https://github.com/pymedusa/Medusa/wiki/Show-indexer-updating\r\nFor this the following needs to be implemented:\r\n- [ ] Support for force full update\r\n- [ ] Update only seasons that reached their next_update.\r\n- [ ] Add new shows, should set the next_updates\r\n- [ ] Episodes that start a new season, should update the cache indexer_update table with the next_update.\r\n\r\n\r\n### Screenies","created_at":"2016-11-08T08:44:37Z","updated_at":"2016-11-08T09:09:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a61acc02a959b6f51a38432be46c645e64a95645","assignee":{"login":"p0psicles","id":1331394,"avatar_url":"https://avatars.githubusercontent.com/u/1331394?v=3","gravatar_id":"","url":"https://api.github.com/users/p0psicles","html_url":"https://github.com/p0psicles","followers_url":"https://api.github.com/users/p0psicles/followers","following_url":"https://api.github.com/users/p0psicles/following{/other_user}","gists_url":"https://api.github.com/users/p0psicles/gists{/gist_id}","starred_url":"https://api.github.com/users/p0psicles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p0psicles/subscriptions","organizations_url":"https://api.github.com/users/p0psicles/orgs","repos_url":"https://api.github.com/users/p0psicles/repos","events_url":"https://api.github.com/users/p0psicles/events{/privacy}","received_events_url":"https://api.github.com/users/p0psicles/received_events","type":"User","site_admin":false},"assignees":[{"login":"p0psicles","id":1331394,"avatar_url":"https://avatars.githubusercontent.com/u/1331394?v=3","gravatar_id":"","url":"https://api.github.com/users/p0psicles","html_url":"https://github.com/p0psicles","followers_url":"https://api.github.com/users/p0psicles/followers","following_url":"https://api.github.com/users/p0psicles/following{/other_user}","gists_url":"https://api.github.com/users/p0psicles/gists{/gist_id}","starred_url":"https://api.github.com/users/p0psicles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p0psicles/subscriptions","organizations_url":"https://api.github.com/users/p0psicles/orgs","repos_url":"https://api.github.com/users/p0psicles/repos","events_url":"https://api.github.com/users/p0psicles/events{/privacy}","received_events_url":"https://api.github.com/users/p0psicles/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/pymedusa/Medusa/milestones/15","html_url":"https://github.com/pymedusa/Medusa/milestones/0.1.9","labels_url":"https://api.github.com/repos/pymedusa/Medusa/milestones/15/labels","id":1979005,"number":15,"title":"0.1.9","description":"","creator":{"login":"OmgImAlexis","id":6525926,"avatar_url":"https://avatars.githubusercontent.com/u/6525926?v=3","gravatar_id":"","url":"https://api.github.com/users/OmgImAlexis","html_url":"https://github.com/OmgImAlexis","followers_url":"https://api.github.com/users/OmgImAlexis/followers","following_url":"https://api.github.com/users/OmgImAlexis/following{/other_user}","gists_url":"https://api.github.com/users/OmgImAlexis/gists{/gist_id}","starred_url":"https://api.github.com/users/OmgImAlexis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OmgImAlexis/subscriptions","organizations_url":"https://api.github.com/users/OmgImAlexis/orgs","repos_url":"https://api.github.com/users/OmgImAlexis/repos","events_url":"https://api.github.com/users/OmgImAlexis/events{/privacy}","received_events_url":"https://api.github.com/users/OmgImAlexis/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2016-09-01T23:40:04Z","updated_at":"2016-11-08T08:57:29Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/pymedusa/Medusa/pulls/1511/commits","review_comments_url":"https://api.github.com/repos/pymedusa/Medusa/pulls/1511/comments","review_comment_url":"https://api.github.com/repos/pymedusa/Medusa/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pymedusa/Medusa/issues/1511/comments","statuses_url":"https://api.github.com/repos/pymedusa/Medusa/statuses/44f2d57fd33a56bbf42da4dacf4d38bbbd6c76b0","head":{"label":"pymedusa:feature/indexer/tmdb","ref":"feature/indexer/tmdb","sha":"44f2d57fd33a56bbf42da4dacf4d38bbbd6c76b0","user":{"login":"pymedusa","id":16712498,"avatar_url":"https://avatars.githubusercontent.com/u/16712498?v=3","gravatar_id":"","url":"https://api.github.com/users/pymedusa","html_url":"https://github.com/pymedusa","followers_url":"https://api.github.com/users/pymedusa/followers","following_url":"https://api.github.com/users/pymedusa/following{/other_user}","gists_url":"https://api.github.com/users/pymedusa/gists{/gist_id}","starred_url":"https://api.github.com/users/pymedusa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pymedusa/subscriptions","organizations_url":"https://api.github.com/users/pymedusa/orgs","repos_url":"https://api.github.com/users/pymedusa/repos","events_url":"https://api.github.com/users/pymedusa/events{/privacy}","received_events_url":"https://api.github.com/users/pymedusa/received_events","type":"Organization","site_admin":false},"repo":{"id":52334681,"name":"Medusa","full_name":"pymedusa/Medusa","owner":{"login":"pymedusa","id":16712498,"avatar_url":"https://avatars.githubusercontent.com/u/16712498?v=3","gravatar_id":"","url":"https://api.github.com/users/pymedusa","html_url":"https://github.com/pymedusa","followers_url":"https://api.github.com/users/pymedusa/followers","following_url":"https://api.github.com/users/pymedusa/following{/other_user}","gists_url":"https://api.github.com/users/pymedusa/gists{/gist_id}","starred_url":"https://api.github.com/users/pymedusa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pymedusa/subscriptions","organizations_url":"https://api.github.com/users/pymedusa/orgs","repos_url":"https://api.github.com/users/pymedusa/repos","events_url":"https://api.github.com/users/pymedusa/events{/privacy}","received_events_url":"https://api.github.com/users/pymedusa/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pymedusa/Medusa","description":"Now with the most wanted feature: **Manual Search**. You can choose what to download! IRC: #pymedusa","fork":false,"url":"https://api.github.com/repos/pymedusa/Medusa","forks_url":"https://api.github.com/repos/pymedusa/Medusa/forks","keys_url":"https://api.github.com/repos/pymedusa/Medusa/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pymedusa/Medusa/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pymedusa/Medusa/teams","hooks_url":"https://api.github.com/repos/pymedusa/Medusa/hooks","issue_events_url":"https://api.github.com/repos/pymedusa/Medusa/issues/events{/number}","events_url":"https://api.github.com/repos/pymedusa/Medusa/events","assignees_url":"https://api.github.com/repos/pymedusa/Medusa/assignees{/user}","branches_url":"https://api.github.com/repos/pymedusa/Medusa/branches{/branch}","tags_url":"https://api.github.com/repos/pymedusa/Medusa/tags","blobs_url":"https://api.github.com/repos/pymedusa/Medusa/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pymedusa/Medusa/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pymedusa/Medusa/git/refs{/sha}","trees_url":"https://api.github.com/repos/pymedusa/Medusa/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pymedusa/Medusa/statuses/{sha}","languages_url":"https://api.github.com/repos/pymedusa/Medusa/languages","stargazers_url":"https://api.github.com/repos/pymedusa/Medusa/stargazers","contributors_url":"https://api.github.com/repos/pymedusa/Medusa/contributors","subscribers_url":"https://api.github.com/repos/pymedusa/Medusa/subscribers","subscription_url":"https://api.github.com/repos/pymedusa/Medusa/subscription","commits_url":"https://api.github.com/repos/pymedusa/Medusa/commits{/sha}","git_commits_url":"https://api.github.com/repos/pymedusa/Medusa/git/commits{/sha}","comments_url":"https://api.github.com/repos/pymedusa/Medusa/comments{/number}","issue_comment_url":"https://api.github.com/repos/pymedusa/Medusa/issues/comments{/number}","contents_url":"https://api.github.com/repos/pymedusa/Medusa/contents/{+path}","compare_url":"https://api.github.com/repos/pymedusa/Medusa/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pymedusa/Medusa/merges","archive_url":"https://api.github.com/repos/pymedusa/Medusa/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pymedusa/Medusa/downloads","issues_url":"https://api.github.com/repos/pymedusa/Medusa/issues{/number}","pulls_url":"https://api.github.com/repos/pymedusa/Medusa/pulls{/number}","milestones_url":"https://api.github.com/repos/pymedusa/Medusa/milestones{/number}","notifications_url":"https://api.github.com/repos/pymedusa/Medusa/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pymedusa/Medusa/labels{/name}","releases_url":"https://api.github.com/repos/pymedusa/Medusa/releases{/id}","deployments_url":"https://api.github.com/repos/pymedusa/Medusa/deployments","created_at":"2016-02-23T06:02:11Z","updated_at":"2016-11-02T00:06:38Z","pushed_at":"2016-11-08T08:44:37Z","git_url":"git://github.com/pymedusa/Medusa.git","ssh_url":"git@github.com:pymedusa/Medusa.git","clone_url":"https://github.com/pymedusa/Medusa.git","svn_url":"https://github.com/pymedusa/Medusa","homepage":"","size":71462,"stargazers_count":29,"watchers_count":29,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":70,"forks":11,"open_issues":70,"watchers":29,"default_branch":"master"}},"base":{"label":"pymedusa:develop","ref":"develop","sha":"b0731a187adeb66ed37f2162f4c7b564d42ad995","user":{"login":"pymedusa","id":16712498,"avatar_url":"https://avatars.githubusercontent.com/u/16712498?v=3","gravatar_id":"","url":"https://api.github.com/users/pymedusa","html_url":"https://github.com/pymedusa","followers_url":"https://api.github.com/users/pymedusa/followers","following_url":"https://api.github.com/users/pymedusa/following{/other_user}","gists_url":"https://api.github.com/users/pymedusa/gists{/gist_id}","starred_url":"https://api.github.com/users/pymedusa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pymedusa/subscriptions","organizations_url":"https://api.github.com/users/pymedusa/orgs","repos_url":"https://api.github.com/users/pymedusa/repos","events_url":"https://api.github.com/users/pymedusa/events{/privacy}","received_events_url":"https://api.github.com/users/pymedusa/received_events","type":"Organization","site_admin":false},"repo":{"id":52334681,"name":"Medusa","full_name":"pymedusa/Medusa","owner":{"login":"pymedusa","id":16712498,"avatar_url":"https://avatars.githubusercontent.com/u/16712498?v=3","gravatar_id":"","url":"https://api.github.com/users/pymedusa","html_url":"https://github.com/pymedusa","followers_url":"https://api.github.com/users/pymedusa/followers","following_url":"https://api.github.com/users/pymedusa/following{/other_user}","gists_url":"https://api.github.com/users/pymedusa/gists{/gist_id}","starred_url":"https://api.github.com/users/pymedusa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pymedusa/subscriptions","organizations_url":"https://api.github.com/users/pymedusa/orgs","repos_url":"https://api.github.com/users/pymedusa/repos","events_url":"https://api.github.com/users/pymedusa/events{/privacy}","received_events_url":"https://api.github.com/users/pymedusa/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pymedusa/Medusa","description":"Now with the most wanted feature: **Manual Search**. You can choose what to download! IRC: #pymedusa","fork":false,"url":"https://api.github.com/repos/pymedusa/Medusa","forks_url":"https://api.github.com/repos/pymedusa/Medusa/forks","keys_url":"https://api.github.com/repos/pymedusa/Medusa/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pymedusa/Medusa/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pymedusa/Medusa/teams","hooks_url":"https://api.github.com/repos/pymedusa/Medusa/hooks","issue_events_url":"https://api.github.com/repos/pymedusa/Medusa/issues/events{/number}","events_url":"https://api.github.com/repos/pymedusa/Medusa/events","assignees_url":"https://api.github.com/repos/pymedusa/Medusa/assignees{/user}","branches_url":"https://api.github.com/repos/pymedusa/Medusa/branches{/branch}","tags_url":"https://api.github.com/repos/pymedusa/Medusa/tags","blobs_url":"https://api.github.com/repos/pymedusa/Medusa/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pymedusa/Medusa/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pymedusa/Medusa/git/refs{/sha}","trees_url":"https://api.github.com/repos/pymedusa/Medusa/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pymedusa/Medusa/statuses/{sha}","languages_url":"https://api.github.com/repos/pymedusa/Medusa/languages","stargazers_url":"https://api.github.com/repos/pymedusa/Medusa/stargazers","contributors_url":"https://api.github.com/repos/pymedusa/Medusa/contributors","subscribers_url":"https://api.github.com/repos/pymedusa/Medusa/subscribers","subscription_url":"https://api.github.com/repos/pymedusa/Medusa/subscription","commits_url":"https://api.github.com/repos/pymedusa/Medusa/commits{/sha}","git_commits_url":"https://api.github.com/repos/pymedusa/Medusa/git/commits{/sha}","comments_url":"https://api.github.com/repos/pymedusa/Medusa/comments{/number}","issue_comment_url":"https://api.github.com/repos/pymedusa/Medusa/issues/comments{/number}","contents_url":"https://api.github.com/repos/pymedusa/Medusa/contents/{+path}","compare_url":"https://api.github.com/repos/pymedusa/Medusa/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pymedusa/Medusa/merges","archive_url":"https://api.github.com/repos/pymedusa/Medusa/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pymedusa/Medusa/downloads","issues_url":"https://api.github.com/repos/pymedusa/Medusa/issues{/number}","pulls_url":"https://api.github.com/repos/pymedusa/Medusa/pulls{/number}","milestones_url":"https://api.github.com/repos/pymedusa/Medusa/milestones{/number}","notifications_url":"https://api.github.com/repos/pymedusa/Medusa/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pymedusa/Medusa/labels{/name}","releases_url":"https://api.github.com/repos/pymedusa/Medusa/releases{/id}","deployments_url":"https://api.github.com/repos/pymedusa/Medusa/deployments","created_at":"2016-02-23T06:02:11Z","updated_at":"2016-11-02T00:06:38Z","pushed_at":"2016-11-08T08:44:37Z","git_url":"git://github.com/pymedusa/Medusa.git","ssh_url":"git@github.com:pymedusa/Medusa.git","clone_url":"https://github.com/pymedusa/Medusa.git","svn_url":"https://github.com/pymedusa/Medusa","homepage":"","size":71462,"stargazers_count":29,"watchers_count":29,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":70,"forks":11,"open_issues":70,"watchers":29,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pymedusa/Medusa/pulls/1511"},"html":{"href":"https://github.com/pymedusa/Medusa/pull/1511"},"issue":{"href":"https://api.github.com/repos/pymedusa/Medusa/issues/1511"},"comments":{"href":"https://api.github.com/repos/pymedusa/Medusa/issues/1511/comments"},"review_comments":{"href":"https://api.github.com/repos/pymedusa/Medusa/pulls/1511/comments"},"review_comment":{"href":"https://api.github.com/repos/pymedusa/Medusa/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pymedusa/Medusa/pulls/1511/commits"},"statuses":{"href":"https://api.github.com/repos/pymedusa/Medusa/statuses/44f2d57fd33a56bbf42da4dacf4d38bbbd6c76b0"}}}}
{"actor":{"display_login":"codacy-bot"}}