Merge pull request #1458 from rtfd/refactor-tastyapi-package
Refactor tastyapi packagefront-end-standardization
commit
d0a97a6882
|
@ -15,10 +15,3 @@ if USER and PASS:
|
|||
else:
|
||||
log.warning("SLUMBER_USERNAME/PASSWORD settings are not set")
|
||||
api = slumber.API(base_url='%s/api/v1/' % API_HOST)
|
||||
|
||||
if USER and PASS:
|
||||
log.debug("Using slumber v2 with user %s, pointed at %s" % (USER, API_HOST))
|
||||
apiv2 = slumber.API(base_url='%s/api/v2/' % API_HOST, auth=(USER, PASS))
|
||||
else:
|
||||
log.warning("SLUMBER_USERNAME/PASSWORD settings are not set")
|
||||
apiv2 = slumber.API(base_url='%s/api/v2/' % API_HOST)
|
|
@ -5,7 +5,6 @@ import json
|
|||
from django.core.management.base import BaseCommand
|
||||
|
||||
from projects import tasks
|
||||
from tastyapi import api
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ from optparse import make_option
|
|||
|
||||
from django.core.management.base import BaseCommand
|
||||
from projects import tasks
|
||||
from tastyapi import api
|
||||
from api.client import api
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
|
@ -3,7 +3,7 @@ from optparse import make_option
|
|||
|
||||
from django.core.management.base import BaseCommand
|
||||
from projects import tasks
|
||||
from tastyapi import api
|
||||
from api.client import api
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
|
@ -14,7 +14,7 @@ from builds import utils as version_utils
|
|||
from doc_builder.base import BaseBuilder, restoring_chdir
|
||||
from projects.utils import run, safe_write
|
||||
from projects.exceptions import ProjectImportError
|
||||
from tastyapi import apiv2
|
||||
from restapi.client import api
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -109,7 +109,7 @@ class BaseSphinx(BaseBuilder):
|
|||
rtd_ctx['downloads'] = self.version.get_downloads(pretty=True)
|
||||
else:
|
||||
rtd_ctx['versions'] = project.api_versions()
|
||||
rtd_ctx['downloads'] = (apiv2.version(self.version.pk)
|
||||
rtd_ctx['downloads'] = (api.version(self.version.pk)
|
||||
.get()['downloads'])
|
||||
|
||||
rtd_string = template_loader.get_template('doc_builder/conf.py.tmpl').render(rtd_ctx)
|
||||
|
|
|
@ -6,7 +6,7 @@ from django.conf import settings
|
|||
from requests_oauthlib import OAuth1Session, OAuth2Session
|
||||
|
||||
from .models import GithubProject, GithubOrganization, BitbucketProject, BitbucketTeam
|
||||
from tastyapi import apiv2
|
||||
from restapi.client import api
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -82,7 +82,7 @@ def get_token_for_project(project, force_local=False):
|
|||
token = None
|
||||
try:
|
||||
if getattr(settings, 'DONT_HIT_DB', True) and not force_local:
|
||||
token = apiv2.project(project.pk).token().get()['token']
|
||||
token = api.project(project.pk).token().get()['token']
|
||||
else:
|
||||
for user in project.users.all():
|
||||
tokens = SocialToken.objects.filter(account__user__username=user.username, app__provider='github')
|
||||
|
|
|
@ -24,7 +24,7 @@ from projects.utils import make_api_version, symlink, update_static_metadata
|
|||
from projects.version_handling import determine_stable_version
|
||||
from projects.version_handling import version_windows
|
||||
from taggit.managers import TaggableManager
|
||||
from tastyapi.slum import api
|
||||
from api.client import api
|
||||
|
||||
from vcs_support.base import VCSProject
|
||||
from vcs_support.backends import backend_cls
|
||||
|
|
|
@ -6,7 +6,7 @@ import redis
|
|||
|
||||
from core.utils import run_on_app_servers
|
||||
from projects.constants import LOG_TEMPLATE
|
||||
from tastyapi import apiv2
|
||||
from restapi.client import api
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -49,7 +49,7 @@ def symlink_subprojects(version):
|
|||
"""
|
||||
# Subprojects
|
||||
if getattr(settings, 'DONT_HIT_DB', True):
|
||||
subproject_slugs = [data['slug'] for data in apiv2.project(version.project.pk).subprojects.get()['subprojects']]
|
||||
subproject_slugs = [data['slug'] for data in api.project(version.project.pk).subprojects.get()['subprojects']]
|
||||
else:
|
||||
rels = version.project.subprojects.all()
|
||||
subproject_slugs = [rel.child.slug for rel in rels]
|
||||
|
@ -77,7 +77,7 @@ def symlink_translations(version):
|
|||
translations = {}
|
||||
|
||||
if getattr(settings, 'DONT_HIT_DB', True):
|
||||
for trans in (apiv2
|
||||
for trans in (api
|
||||
.project(version.project.pk)
|
||||
.translations.get()['translations']):
|
||||
translations[trans['language']] = trans['slug']
|
||||
|
|
|
@ -29,12 +29,12 @@ from projects.constants import LOG_TEMPLATE
|
|||
from builds.constants import STABLE
|
||||
from projects import symlinks
|
||||
from privacy.loader import Syncer
|
||||
from tastyapi import api, apiv2
|
||||
from search.parse_json import process_all_json_files
|
||||
from search.utils import process_mkdocs_json
|
||||
from restapi.utils import index_search_request
|
||||
from vcs_support import utils as vcs_support_utils
|
||||
import tastyapi
|
||||
import api.client
|
||||
import restapi.client
|
||||
|
||||
try:
|
||||
from readthedocs.projects.signals import before_vcs, after_vcs, before_build, after_build
|
||||
|
@ -69,8 +69,8 @@ def update_docs(pk, version_pk=None, build_pk=None, record=True, docker=False,
|
|||
"""
|
||||
# Dependency injection to allow for testing
|
||||
if api is None:
|
||||
api = tastyapi.api
|
||||
apiv2 = tastyapi.apiv2
|
||||
api = api.client.api
|
||||
apiv2 = restapi.client.api
|
||||
else:
|
||||
apiv2 = api
|
||||
|
||||
|
@ -223,7 +223,7 @@ def update_imported_docs(version_pk, api=None):
|
|||
Check out or update the given project's repository.
|
||||
"""
|
||||
if api is None:
|
||||
api = tastyapi.api
|
||||
api = api.client.api
|
||||
|
||||
version_data = api.version(version_pk).get()
|
||||
version = make_api_version(version_data)
|
||||
|
|
|
@ -19,7 +19,7 @@ log = logging.getLogger(__name__)
|
|||
def version_from_slug(slug, version):
|
||||
from projects import tasks
|
||||
from builds.models import Version
|
||||
from tastyapi import apiv2 as api
|
||||
from restapi.client import api
|
||||
if getattr(settings, 'DONT_HIT_DB', True):
|
||||
version_data = api.version().get(project=slug, slug=version)['results'][0]
|
||||
v = tasks.make_api_version(version_data)
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
import slumber
|
||||
import logging
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
USER = getattr(settings, 'SLUMBER_USERNAME', None)
|
||||
PASS = getattr(settings, 'SLUMBER_PASSWORD', None)
|
||||
API_HOST = getattr(settings, 'SLUMBER_API_HOST', 'https://readthedocs.org')
|
||||
|
||||
if USER and PASS:
|
||||
log.debug("Using slumber v2 with user %s, pointed at %s" % (USER, API_HOST))
|
||||
api = slumber.API(base_url='%s/api/v2/' % API_HOST, auth=(USER, PASS))
|
||||
else:
|
||||
log.warning("SLUMBER_USERNAME/PASSWORD settings are not set")
|
||||
api = slumber.API(base_url='%s/api/v2/' % API_HOST)
|
|
@ -270,8 +270,6 @@ ABSOLUTE_URL_OVERRIDES = {
|
|||
|
||||
INTERNAL_IPS = ('127.0.0.1',)
|
||||
|
||||
IMPORT_EXTERNAL_DATA = True
|
||||
|
||||
backup_count = 1000
|
||||
maxBytes = 500 * 100 * 100
|
||||
if LOG_DEBUG:
|
||||
|
|
|
@ -34,7 +34,6 @@ WEBSOCKET_HOST = None
|
|||
|
||||
HAYSTACK_CONNECTIONS = {'default': {}}
|
||||
|
||||
IMPORT_EXTERNAL_DATA = False
|
||||
DONT_HIT_DB = True
|
||||
DONT_HIT_API = True
|
||||
NGINX_X_ACCEL_REDIRECT = True
|
||||
|
|
|
@ -47,7 +47,6 @@ SLUMBER_API_HOST = 'http://localhost:8000'
|
|||
|
||||
WEBSOCKET_HOST = 'localhost:8088'
|
||||
|
||||
IMPORT_EXTERNAL_DATA = False
|
||||
DONT_HIT_DB = False
|
||||
#PRODUCTION_DOMAIN = 'readthedocs.org'
|
||||
#USE_SUBDOMAIN = True
|
||||
|
|
|
@ -38,7 +38,6 @@ HAYSTACK_CONNECTIONS = {
|
|||
},
|
||||
}
|
||||
|
||||
IMPORT_EXTERNAL_DATA = False
|
||||
DONT_HIT_DB = False
|
||||
NGINX_X_ACCEL_REDIRECT = True
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
from .slum import api, apiv2 # noqa
|
|
@ -1,34 +0,0 @@
|
|||
import logging
|
||||
from django.conf import settings
|
||||
from django.utils import simplejson as json
|
||||
import requests
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
SERVER_LIST = [
|
||||
'http://djangopackages.com',
|
||||
'http://plone.opencomparison.org',
|
||||
'http://pyramid.opencomparison.org',
|
||||
]
|
||||
|
||||
|
||||
def import_project(project):
|
||||
if not settings.IMPORT_EXTERNAL_DATA:
|
||||
log.debug('importing of external data is disabled')
|
||||
return False
|
||||
for BASE_SERVER in SERVER_LIST:
|
||||
API_SERVER = '%s/api/v1/' % BASE_SERVER
|
||||
URL = API_SERVER + "package/%s/" % project.slug
|
||||
try:
|
||||
log.info("Trying to import from %s" % API_SERVER)
|
||||
resp = requests.get(URL)
|
||||
except AttributeError:
|
||||
log.error("Socket error trying to pull from Open Comparison",
|
||||
exc_info=True)
|
||||
if resp.status_code == 200:
|
||||
content_dict = json.loads(resp.content)
|
||||
project.django_packages_url = (BASE_SERVER +
|
||||
content_dict['absolute_url'])
|
||||
project.save()
|
||||
return True
|
||||
return False
|
Loading…
Reference in New Issue