Move make_release.sh to build.sh.
This script creates a "build" really, not a release. A separate release.sh
script should be written to automate the current manual release process (at
some point...).
Patch by: Todd Larsen
Review by: to-be-reviewed
#!/usr/bin/python2.5## Copyright 2008 the Melange authors.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License."""Views decorators."""__authors__ = [ '"Pawel Solyga" <pawel.solyga@gmail.com>', ]import loggingfrom functools import wrapsfrom google.appengine.runtime import DeadlineExceededErrorfrom django import httpfrom soc.logic import dictsclass Error(Exception): passdef view(func): """Decorator that insists that exceptions are handled by view. """ @wraps(func) def view_wrapper(*args, **kwds): try: return func(*args, **kwds) except DeadlineExceededError: logging.exception('DeadlineExceededError') return http.HttpResponse('DeadlineExceededError') except MemoryError: logging.exception('MemoryError') return http.HttpResponse('MemoryError') except AssertionError: logging.exception('AssertionError') return http.HttpResponse('AssertionError') return view_wrapperdef merge_params(func): """Decorator that merges 'params' with self._params. """ @wraps(func) def wrapper(self, *args, **kwargs): params = kwargs.get('params', {}) kwargs['params'] = dicts.merge(params, self._params) return func(self, *args, **kwargs) return wrapperdef check_access(func): """This decorator does access checks for the specified view method. The rights dictionary is extracted from 'params', or, if either 'params' or 'rights' do not exist, from self._params['rights']. """ # Do not pollute helper.decorators with access specific imports from soc.views import out_of_band from soc.views import helper from soc.views.helper import access @wraps(func) def wrapper(self, request, access_type, *args, **kwargs): params = kwargs.get('params', {}) # Try to extract rights if 'rights' in params: rights = params['rights'] else: rights = self._params['rights'] # Do the access check dance try: access.checkAccess(access_type, request, rights, args, kwargs) except out_of_band.Error, error: return helper.responses.errorResponse(error, request) return func(self, request, access_type, *args, **kwargs) return wrapper