Skip to content

Commit

Permalink
Merge branch 'a144055824458101_version_from_config'
Browse files Browse the repository at this point in the history
  • Loading branch information
vmaksymiv committed Jun 15, 2016
2 parents 74bb2eb + f26f5ee commit b81ff38
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 10 deletions.
4 changes: 2 additions & 2 deletions src/openprocurement/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from openprocurement.api.design import sync_design
from openprocurement.api.migration import migrate_data
from openprocurement.api.models import Tender
from openprocurement.api.utils import forbidden, add_logging_context, set_logging_context, extract_tender, request_params, isTender, set_renderer, beforerender, register_tender_procurementMethodType, tender_from_data, ROUTE_PREFIX
from openprocurement.api.utils import forbidden, add_logging_context, set_logging_context, extract_tender, request_params, isTender, set_renderer, beforerender, register_tender_procurementMethodType, tender_from_data, route_prefix
from pbkdf2 import PBKDF2
from pkg_resources import iter_entry_points
from pyramid.authorization import ACLAuthorizationPolicy as AuthorizationPolicy
Expand Down Expand Up @@ -60,7 +60,7 @@ def main(global_config, **settings):
settings=settings,
authentication_policy=AuthenticationPolicy(settings['auth.file'], __name__),
authorization_policy=AuthorizationPolicy(),
route_prefix=ROUTE_PREFIX,
route_prefix=route_prefix(settings),
)
config.include('pyramid_exclog')
config.include("cornice")
Expand Down
2 changes: 1 addition & 1 deletion src/openprocurement/api/tests/tender.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from copy import deepcopy
from datetime import timedelta

from openprocurement.api import ROUTE_PREFIX
from openprocurement.api.utils import ROUTE_PREFIX
from openprocurement.api.models import Tender, get_now
from openprocurement.api.tests.base import test_tender_data, test_organization, BaseWebTest, BaseTenderWebTest

Expand Down
16 changes: 10 additions & 6 deletions src/openprocurement/api/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@
json_view = partial(view, renderer='json')


def route_prefix(settings={}):
return '/api/{}'.format(settings.get('api_version', VERSION))


def generate_id():
return uuid4().hex

Expand Down Expand Up @@ -615,7 +619,7 @@ def forbidden(request):
def add_logging_context(event):
request = event.request
params = {
'API_VERSION': VERSION,
'API_VERSION': request.registry.settings.get('api_version', VERSION),
'TAGS': 'python,api',
'USER': str(request.authenticated_userid or ''),
#'ROLE': str(request.authenticated_role),
Expand Down Expand Up @@ -731,28 +735,28 @@ def set_renderer(event):
return True


def fix_url(item, app_url):
def fix_url(item, app_url, settings={}):
if isinstance(item, list):
[
fix_url(i, app_url)
fix_url(i, app_url, settings)
for i in item
if isinstance(i, dict) or isinstance(i, list)
]
elif isinstance(item, dict):
if "format" in item and "url" in item and '?download=' in item['url']:
path = item["url"] if item["url"].startswith('/') else '/' + '/'.join(item['url'].split('/')[5:])
item["url"] = app_url + ROUTE_PREFIX + path
item["url"] = app_url + route_prefix(settings) + path
return
[
fix_url(item[i], app_url)
fix_url(item[i], app_url, settings)
for i in item
if isinstance(item[i], dict) or isinstance(item[i], list)
]


def beforerender(event):
if event.rendering_val and isinstance(event.rendering_val, dict) and 'data' in event.rendering_val:
fix_url(event.rendering_val['data'], event['request'].application_url)
fix_url(event.rendering_val['data'], event['request'].application_url, event['request'].registry.settings)


def register_tender_procurementMethodType(config, model):
Expand Down
2 changes: 1 addition & 1 deletion src/openprocurement/api/views/spore.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@
@spore.get()
def get_spore(request):
services = get_services()
return generate_spore_description(services, 'Service name', request.application_url, VERSION)
return generate_spore_description(services, 'Service name', request.application_url, request.registry.settings.get('api_version', VERSION))

0 comments on commit b81ff38

Please sign in to comment.