mirror of
https://github.com/moparisthebest/SickRage
synced 2024-12-12 11:02:21 -05:00
Updated libs to include new pyGitHub modules.
Updated versionChecker code to reflect new pyGitHub module.
This commit is contained in:
parent
ea2ec2390a
commit
9abe5ea859
@ -108,6 +108,9 @@ GIT_REMOTE = ''
|
|||||||
GIT_REMOTE_URL = ''
|
GIT_REMOTE_URL = ''
|
||||||
CUR_COMMIT_BRANCH = ''
|
CUR_COMMIT_BRANCH = ''
|
||||||
|
|
||||||
|
GIT_ORG = 'SiCKRAGETV'
|
||||||
|
GIT_REPO = 'SickRage'
|
||||||
|
|
||||||
INIT_LOCK = Lock()
|
INIT_LOCK = Lock()
|
||||||
started = False
|
started = False
|
||||||
|
|
||||||
@ -507,7 +510,7 @@ def initialize(consoleLogging=True):
|
|||||||
USE_FAILED_DOWNLOADS, DELETE_FAILED, ANON_REDIRECT, LOCALHOST_IP, TMDB_API_KEY, DEBUG, PROXY_SETTING, PROXY_INDEXERS, \
|
USE_FAILED_DOWNLOADS, DELETE_FAILED, ANON_REDIRECT, LOCALHOST_IP, TMDB_API_KEY, DEBUG, PROXY_SETTING, PROXY_INDEXERS, \
|
||||||
AUTOPOSTPROCESSER_FREQUENCY, DEFAULT_AUTOPOSTPROCESSER_FREQUENCY, MIN_AUTOPOSTPROCESSER_FREQUENCY, \
|
AUTOPOSTPROCESSER_FREQUENCY, DEFAULT_AUTOPOSTPROCESSER_FREQUENCY, MIN_AUTOPOSTPROCESSER_FREQUENCY, \
|
||||||
ANIME_DEFAULT, NAMING_ANIME, ANIMESUPPORT, USE_ANIDB, ANIDB_USERNAME, ANIDB_PASSWORD, ANIDB_USE_MYLIST, \
|
ANIME_DEFAULT, NAMING_ANIME, ANIMESUPPORT, USE_ANIDB, ANIDB_USERNAME, ANIDB_PASSWORD, ANIDB_USE_MYLIST, \
|
||||||
ANIME_SPLIT_HOME, SCENE_DEFAULT, PLAY_VIDEOS, BACKLOG_DAYS
|
ANIME_SPLIT_HOME, SCENE_DEFAULT, PLAY_VIDEOS, BACKLOG_DAYS, GIT_ORG, GIT_REPO
|
||||||
|
|
||||||
if __INITIALIZED__:
|
if __INITIALIZED__:
|
||||||
return False
|
return False
|
||||||
|
@ -1,95 +0,0 @@
|
|||||||
# Author: Nic Wolfe <nic@wolfeden.ca>
|
|
||||||
# URL: http://code.google.com/p/sickbeard/
|
|
||||||
#
|
|
||||||
# This file is part of SickRage.
|
|
||||||
#
|
|
||||||
# SickRage is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# SickRage 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 General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with SickRage. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
try:
|
|
||||||
import json
|
|
||||||
except ImportError:
|
|
||||||
from lib import simplejson as json
|
|
||||||
|
|
||||||
import helpers
|
|
||||||
|
|
||||||
|
|
||||||
class GitHub(object):
|
|
||||||
"""
|
|
||||||
Simple api wrapper for the Github API v3. Currently only supports the small thing that SB
|
|
||||||
needs it for - list of commits.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, github_repo_user, github_repo, branch):
|
|
||||||
|
|
||||||
self.github_repo_user = github_repo_user
|
|
||||||
self.github_repo = github_repo
|
|
||||||
self.branch = branch
|
|
||||||
|
|
||||||
def _access_API(self, path, params=None):
|
|
||||||
"""
|
|
||||||
Access the API at the path given and with the optional params given.
|
|
||||||
|
|
||||||
path: A list of the path elements to use (eg. ['repos', 'midgetspy', 'Sick-Beard', 'commits'])
|
|
||||||
params: Optional dict of name/value pairs for extra params to send. (eg. {'per_page': 10})
|
|
||||||
|
|
||||||
Returns a deserialized json object of the result. Doesn't do any error checking (hope it works).
|
|
||||||
"""
|
|
||||||
|
|
||||||
url = 'https://api.github.com/' + '/'.join(path)
|
|
||||||
|
|
||||||
if params and type(params) is dict:
|
|
||||||
url += '?' + '&'.join([str(x) + '=' + str(params[x]) for x in params.keys()])
|
|
||||||
|
|
||||||
parsedJSON = helpers.getURL(url, json=True)
|
|
||||||
if not parsedJSON:
|
|
||||||
return []
|
|
||||||
|
|
||||||
return parsedJSON
|
|
||||||
|
|
||||||
def commits(self):
|
|
||||||
"""
|
|
||||||
Uses the API to get a list of the 100 most recent commits from the specified user/repo/branch, starting from HEAD.
|
|
||||||
|
|
||||||
user: The github username of the person whose repo you're querying
|
|
||||||
repo: The repo name to query
|
|
||||||
branch: Optional, the branch name to show commits from
|
|
||||||
|
|
||||||
Returns a deserialized json object containing the commit info. See http://developer.github.com/v3/repos/commits/
|
|
||||||
"""
|
|
||||||
access_API = self._access_API(['repos', self.github_repo_user, self.github_repo, 'commits'],
|
|
||||||
params={'per_page': 100, 'sha': self.branch})
|
|
||||||
return access_API
|
|
||||||
|
|
||||||
def compare(self, base, head, per_page=1):
|
|
||||||
"""
|
|
||||||
Uses the API to get a list of compares between base and head.
|
|
||||||
|
|
||||||
user: The github username of the person whose repo you're querying
|
|
||||||
repo: The repo name to query
|
|
||||||
base: Start compare from branch
|
|
||||||
head: Current commit sha or branch name to compare
|
|
||||||
per_page: number of items per page
|
|
||||||
|
|
||||||
Returns a deserialized json object containing the compare info. See http://developer.github.com/v3/repos/commits/
|
|
||||||
"""
|
|
||||||
access_API = self._access_API(
|
|
||||||
['repos', self.github_repo_user, self.github_repo, 'compare', base + '...' + head],
|
|
||||||
params={'per_page': per_page})
|
|
||||||
return access_API
|
|
||||||
|
|
||||||
def branches(self):
|
|
||||||
access_API = self._access_API(
|
|
||||||
['repos', self.github_repo_user, self.github_repo, 'branches'],
|
|
||||||
params={'per_page': 100})
|
|
||||||
return access_API
|
|
@ -27,8 +27,8 @@ import tarfile
|
|||||||
import stat
|
import stat
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
import gh_api as github
|
|
||||||
import sickbeard
|
import sickbeard
|
||||||
|
from github import Github
|
||||||
from sickbeard import helpers, notifiers
|
from sickbeard import helpers, notifiers
|
||||||
from sickbeard import ui
|
from sickbeard import ui
|
||||||
from sickbeard import logger
|
from sickbeard import logger
|
||||||
@ -129,11 +129,11 @@ class CheckVersion():
|
|||||||
|
|
||||||
|
|
||||||
class UpdateManager():
|
class UpdateManager():
|
||||||
def get_github_repo_user(self):
|
def get_github_org(self):
|
||||||
return 'SiCKRAGETV'
|
return sickbeard.GIT_ORG
|
||||||
|
|
||||||
def get_github_repo(self):
|
def get_github_repo(self):
|
||||||
return 'SickRage'
|
return sickbeard.GIT_REPO
|
||||||
|
|
||||||
def get_update_url(self):
|
def get_update_url(self):
|
||||||
return sickbeard.WEB_ROOT + "/home/update/?pid=" + str(sickbeard.PID)
|
return sickbeard.WEB_ROOT + "/home/update/?pid=" + str(sickbeard.PID)
|
||||||
@ -141,7 +141,7 @@ class UpdateManager():
|
|||||||
|
|
||||||
class WindowsUpdateManager(UpdateManager):
|
class WindowsUpdateManager(UpdateManager):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.github_repo_user = self.get_github_repo_user()
|
self.github_org = self.get_github_org()
|
||||||
self.github_repo = self.get_github_repo()
|
self.github_repo = self.get_github_repo()
|
||||||
|
|
||||||
self.branch = sickbeard.BRANCH
|
self.branch = sickbeard.BRANCH
|
||||||
@ -153,7 +153,7 @@ class WindowsUpdateManager(UpdateManager):
|
|||||||
self._newest_version = None
|
self._newest_version = None
|
||||||
|
|
||||||
self.gc_url = 'http://code.google.com/p/sickbeard/downloads/list'
|
self.gc_url = 'http://code.google.com/p/sickbeard/downloads/list'
|
||||||
self.version_url = 'https://raw.github.com/' + self.github_repo_user + '/' + self.github_repo + '/' + self.branch + '/updates.txt'
|
self.version_url = 'https://raw.github.com/' + self.github_org + '/' + self.github_repo + '/' + self.branch + '/updates.txt'
|
||||||
|
|
||||||
def _find_installed_version(self):
|
def _find_installed_version(self):
|
||||||
version = ''
|
version = ''
|
||||||
@ -294,7 +294,7 @@ class WindowsUpdateManager(UpdateManager):
|
|||||||
class GitUpdateManager(UpdateManager):
|
class GitUpdateManager(UpdateManager):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._git_path = self._find_working_git()
|
self._git_path = self._find_working_git()
|
||||||
self.github_repo_user = self.get_github_repo_user()
|
self.github_org = self.get_github_org()
|
||||||
self.github_repo = self.get_github_repo()
|
self.github_repo = self.get_github_repo()
|
||||||
|
|
||||||
self.branch = sickbeard.BRANCH
|
self.branch = sickbeard.BRANCH
|
||||||
@ -496,7 +496,7 @@ class GitUpdateManager(UpdateManager):
|
|||||||
|
|
||||||
elif self._num_commits_behind > 0:
|
elif self._num_commits_behind > 0:
|
||||||
|
|
||||||
base_url = 'http://github.com/' + self.github_repo_user + '/' + self.github_repo
|
base_url = 'http://github.com/' + self.github_org + '/' + self.github_repo
|
||||||
if self._newest_commit_hash:
|
if self._newest_commit_hash:
|
||||||
url = base_url + '/compare/' + self._cur_commit_hash + '...' + self._newest_commit_hash
|
url = base_url + '/compare/' + self._cur_commit_hash + '...' + self._newest_commit_hash
|
||||||
else:
|
else:
|
||||||
@ -572,7 +572,7 @@ class GitUpdateManager(UpdateManager):
|
|||||||
|
|
||||||
class SourceUpdateManager(UpdateManager):
|
class SourceUpdateManager(UpdateManager):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.github_repo_user = self.get_github_repo_user()
|
self.github_org = self.get_github_org()
|
||||||
self.github_repo = self.get_github_repo()
|
self.github_repo = self.get_github_repo()
|
||||||
|
|
||||||
self.branch = sickbeard.BRANCH
|
self.branch = sickbeard.BRANCH
|
||||||
@ -617,7 +617,7 @@ class SourceUpdateManager(UpdateManager):
|
|||||||
self._num_commits_behind = 0
|
self._num_commits_behind = 0
|
||||||
self._newest_commit_hash = None
|
self._newest_commit_hash = None
|
||||||
|
|
||||||
gh = github.GitHub(self.github_repo_user, self.github_repo, self.branch)
|
gh = Github().get_organization(self.github_org).get_repo(self.github_repo)
|
||||||
|
|
||||||
# try to get newest commit hash and commits behind directly by comparing branch and current commit
|
# try to get newest commit hash and commits behind directly by comparing branch and current commit
|
||||||
if self._cur_commit_hash:
|
if self._cur_commit_hash:
|
||||||
@ -632,7 +632,7 @@ class SourceUpdateManager(UpdateManager):
|
|||||||
# fall back and iterate over last 100 (items per page in gh_api) commits
|
# fall back and iterate over last 100 (items per page in gh_api) commits
|
||||||
if not self._newest_commit_hash:
|
if not self._newest_commit_hash:
|
||||||
|
|
||||||
for curCommit in gh.commits():
|
for curCommit in gh.get_commits():
|
||||||
if not self._newest_commit_hash:
|
if not self._newest_commit_hash:
|
||||||
self._newest_commit_hash = curCommit['sha']
|
self._newest_commit_hash = curCommit['sha']
|
||||||
if not self._cur_commit_hash:
|
if not self._cur_commit_hash:
|
||||||
@ -659,7 +659,7 @@ class SourceUpdateManager(UpdateManager):
|
|||||||
newest_text += "— <a href=\"" + self.get_update_url() + "\">Update Now</a>"
|
newest_text += "— <a href=\"" + self.get_update_url() + "\">Update Now</a>"
|
||||||
|
|
||||||
elif self._num_commits_behind > 0:
|
elif self._num_commits_behind > 0:
|
||||||
base_url = 'http://github.com/' + self.github_repo_user + '/' + self.github_repo
|
base_url = 'http://github.com/' + self.github_org + '/' + self.github_repo
|
||||||
if self._newest_commit_hash:
|
if self._newest_commit_hash:
|
||||||
url = base_url + '/compare/' + self._cur_commit_hash + '...' + self._newest_commit_hash
|
url = base_url + '/compare/' + self._cur_commit_hash + '...' + self._newest_commit_hash
|
||||||
else:
|
else:
|
||||||
@ -680,7 +680,7 @@ class SourceUpdateManager(UpdateManager):
|
|||||||
Downloads the latest source tarball from github and installs it over the existing version.
|
Downloads the latest source tarball from github and installs it over the existing version.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
base_url = 'http://github.com/' + self.github_repo_user + '/' + self.github_repo
|
base_url = 'http://github.com/' + self.github_org + '/' + self.github_repo
|
||||||
tar_download_url = base_url + '/tarball/' + self.branch
|
tar_download_url = base_url + '/tarball/' + self.branch
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -764,5 +764,5 @@ class SourceUpdateManager(UpdateManager):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def list_remote_branches(self):
|
def list_remote_branches(self):
|
||||||
gh = github.GitHub(self.github_repo_user, self.github_repo, self.branch)
|
gh = Github().get_organization(self.github_org).get_repo(self.github_repo)
|
||||||
return [x['name'] for x in gh.branches() if x and 'name' in x]
|
return [x.name for x in gh.get_branches() if x]
|
Loading…
Reference in New Issue
Block a user