Example #1
0
def load(filename=None):
    """Read in and JSON the app-independent configuration file (normally forge_build.json).
	"""
    if filename is None:
        filename = defaults.CONFIG_FILE

    with open(filename) as conf_file:
        config = json.load(conf_file)

    LOG.debug("Forge build tools version: %s" % forge.get_version())
    for key, val in config.iteritems():
        LOG.debug("%s: %s" % (key, json.dumps(val)))

    return config
Example #2
0
	def check_version(self):
		result = self._api_get(
			'version_check/{version}/'.format(version=forge.get_version().replace('.','/'))
		)

		if result['result'] == 'ok':
			if 'upgrade' in result:
				LOG.info('Update result: %s' % result['message'])
			else:
				LOG.debug('Update result: %s' % result['message'])

			if result.get('upgrade') == 'required':
				raise UpdateRequired()
		else:
			LOG.info('Upgrade check failed.')
def load(filename=None):
	'''Read in and JSON the app-independent configuration file (normally forge_build.json).
	'''
	if filename is None:
		filename = defaults.CONFIG_FILE
		if path.exists(filename + ".local"):
			filename = filename + ".local"
			LOG.info("Using config file: %s" % filename)

	with open(filename) as conf_file:
		config = json.load(conf_file)
	
	LOG.debug('Forge build tools version: %s' % forge.get_version())
	for key, val in config.iteritems():
		LOG.debug('%s: %s' % (key, json.dumps(val)))

	return config
def setup_logging(settings):
	'Adjust logging parameters according to command line switches'
	verbose = settings.get('verbose')
	quiet = settings.get('quiet')
	if verbose and quiet:
		raise ArgumentError('Cannot run in quiet and verbose mode at the same time')
	if verbose:
		stdout_log_level = logging.DEBUG
	elif quiet:
		stdout_log_level = logging.WARNING
	else:
		stdout_log_level = logging.INFO

	logging.basicConfig(level=stdout_log_level, format='[%(levelname)7s] %(message)s')
	file_handler = logging.FileHandler(ERROR_LOG_FILE, delay=True)
	file_handler.setFormatter(logging.Formatter('%(asctime)s [%(levelname)7s] %(message)s'))
	file_handler.setLevel(logging.DEBUG)
	logging.root.addHandler(file_handler)
	LOG.info('Forge tools running at version %s' % forge.get_version())
def load(filename=None):
    '''Read in and JSON the app-independent configuration file (normally forge_build.json).
	'''
    if filename is None:
        filename = defaults.CONFIG_FILE
        if path.exists(filename + ".local"):
            filename = filename + ".local"
            LOG.info("Using config file: %s" % filename)

    if path.exists(filename):
        with open(filename) as conf_file:
            config = json.load(conf_file)
    else:
        config = {}

    LOG.debug('Forge build tools version: %s' % forge.get_version())
    for key, val in config.iteritems():
        LOG.debug('%s: %s' % (key, json.dumps(val)))

    return config
Example #6
0
def setup_logging(settings):
	'Adjust logging parameters according to command line switches'
	global LOG
	verbose = settings.get('verbose')
	quiet = settings.get('quiet')
	if verbose and quiet:
		raise ArgumentError('Cannot run in quiet and verbose mode at the same time')
	if verbose:
		stdout_log_level = logging.DEBUG
	elif quiet:
		stdout_log_level = logging.WARNING
	else:
		stdout_log_level = logging.INFO

	logging.root.setLevel(logging.DEBUG)

	_setup_logging_to_stdout(stdout_log_level)
	_setup_error_logging_to_file()
	_filter_requests_logging()

	LOG = logging.getLogger(__name__)

	LOG.info('Forge tools running at version %s' % forge.get_version())
Example #7
0
	def __get_or_post(self, url, *args, **kw):
		'''Expects ``__method`` entry in :param:`**kw`
		'''
		method = kw['__method']
		del kw['__method']

		kw['verify'] = True

		if method == "POST":
			# must have CSRF token
			data = kw.get("data", {})
			data['build_tools_version'] = forge.get_version()
			data["csrfmiddlewaretoken"] = self._csrf_token()
			kw["data"] = data
		kw['cookies'] = _cookies_for_domain(self.hostname, self.cookies)
		kw['headers'] = {'REFERER': url}

		if self.config.get('main', {}).get('authentication'):
			if urlparse.urlparse(url).hostname == self.hostname:
				kw['auth'] = (
					self.config['main']['authentication'].get('username'),
					self.config['main']['authentication'].get('password')
				)

		if self.config.get('main', {}).get('proxies'):
			kw['proxies'] = self.config['main']['proxies']

		LOG.debug('{method} {url}'.format(method=method.upper(), url=url))
		resp = getattr(self.session, method.lower())(url, *args, **kw)

		lib.load_cookies_from_response(resp, self.cookies)
		cookie_lock.acquire()
		self.cookies.save()
		cookie_lock.release()
		# XXX: response is definitely json at this point?
		# guaranteed if we're only making calls to the api
		return resp