193756fa6c
Change-Id: I8ca6379ff6aad32ce934720f234d955dd99204dd
166 lines
6.6 KiB
Python
166 lines
6.6 KiB
Python
# 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.
|
|
|
|
"""
|
|
This file contains configuration for the locations of all the static file
|
|
libraries, such as JavaScript and CSS libraries. Packagers for individual
|
|
distributions can edit or replace this file, in order to change the paths
|
|
to match their distribution's standards.
|
|
"""
|
|
|
|
import os
|
|
|
|
import xstatic.main
|
|
import xstatic.pkg.angular
|
|
import xstatic.pkg.angular_bootstrap
|
|
import xstatic.pkg.angular_fileupload
|
|
import xstatic.pkg.angular_gettext
|
|
import xstatic.pkg.angular_lrdragndrop
|
|
import xstatic.pkg.angular_smart_table
|
|
import xstatic.pkg.bootstrap_datepicker
|
|
import xstatic.pkg.bootstrap_scss
|
|
import xstatic.pkg.bootswatch
|
|
import xstatic.pkg.d3
|
|
import xstatic.pkg.font_awesome
|
|
import xstatic.pkg.hogan
|
|
import xstatic.pkg.jasmine
|
|
import xstatic.pkg.jquery
|
|
import xstatic.pkg.jquery_migrate
|
|
import xstatic.pkg.jquery_quicksearch
|
|
import xstatic.pkg.jquery_tablesorter
|
|
import xstatic.pkg.jquery_ui
|
|
import xstatic.pkg.jsencrypt
|
|
import xstatic.pkg.mdi
|
|
import xstatic.pkg.rickshaw
|
|
import xstatic.pkg.roboto_fontface
|
|
import xstatic.pkg.spin
|
|
import xstatic.pkg.termjs
|
|
|
|
from horizon.utils import file_discovery
|
|
|
|
|
|
def get_staticfiles_dirs(webroot='/'):
|
|
STATICFILES_DIRS = [
|
|
('horizon/lib/angular',
|
|
xstatic.main.XStatic(xstatic.pkg.angular,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/angular',
|
|
xstatic.main.XStatic(xstatic.pkg.angular_bootstrap,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/angular',
|
|
xstatic.main.XStatic(xstatic.pkg.angular_fileupload,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/angular',
|
|
xstatic.main.XStatic(xstatic.pkg.angular_gettext,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/angular',
|
|
xstatic.main.XStatic(xstatic.pkg.angular_lrdragndrop,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/angular',
|
|
xstatic.main.XStatic(xstatic.pkg.angular_smart_table,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/bootstrap_datepicker',
|
|
xstatic.main.XStatic(xstatic.pkg.bootstrap_datepicker,
|
|
root_url=webroot).base_dir),
|
|
('bootstrap',
|
|
xstatic.main.XStatic(xstatic.pkg.bootstrap_scss,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/bootswatch',
|
|
xstatic.main.XStatic(xstatic.pkg.bootswatch,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib',
|
|
xstatic.main.XStatic(xstatic.pkg.d3,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib',
|
|
xstatic.main.XStatic(xstatic.pkg.hogan,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/font-awesome',
|
|
xstatic.main.XStatic(xstatic.pkg.font_awesome,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/jasmine',
|
|
xstatic.main.XStatic(xstatic.pkg.jasmine,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/jquery',
|
|
xstatic.main.XStatic(xstatic.pkg.jquery,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/jquery',
|
|
xstatic.main.XStatic(xstatic.pkg.jquery_migrate,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/jquery',
|
|
xstatic.main.XStatic(xstatic.pkg.jquery_quicksearch,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/jquery',
|
|
xstatic.main.XStatic(xstatic.pkg.jquery_tablesorter,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/jsencrypt',
|
|
xstatic.main.XStatic(xstatic.pkg.jsencrypt,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/mdi',
|
|
xstatic.main.XStatic(xstatic.pkg.mdi,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib',
|
|
xstatic.main.XStatic(xstatic.pkg.rickshaw,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib/roboto_fontface',
|
|
xstatic.main.XStatic(xstatic.pkg.roboto_fontface,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib',
|
|
xstatic.main.XStatic(xstatic.pkg.spin,
|
|
root_url=webroot).base_dir),
|
|
('horizon/lib',
|
|
xstatic.main.XStatic(xstatic.pkg.termjs,
|
|
root_url=webroot).base_dir),
|
|
]
|
|
|
|
if xstatic.main.XStatic(xstatic.pkg.jquery_ui,
|
|
root_url=webroot).version.startswith('1.10.'):
|
|
# The 1.10.x versions already contain the 'ui' directory.
|
|
STATICFILES_DIRS.append(
|
|
('horizon/lib/jquery-ui',
|
|
xstatic.main.XStatic(xstatic.pkg.jquery_ui,
|
|
root_url=webroot).base_dir))
|
|
else:
|
|
# Newer versions dropped the directory, add it to keep the path the
|
|
# same.
|
|
STATICFILES_DIRS.append(
|
|
('horizon/lib/jquery-ui/ui',
|
|
xstatic.main.XStatic(xstatic.pkg.jquery_ui,
|
|
root_url=webroot).base_dir))
|
|
|
|
return STATICFILES_DIRS
|
|
|
|
|
|
def find_static_files(HORIZON_CONFIG):
|
|
import horizon
|
|
import openstack_dashboard
|
|
os_dashboard_home_dir = openstack_dashboard.__path__[0]
|
|
horizon_home_dir = horizon.__path__[0]
|
|
|
|
# note the path must end in a '/' or the resultant file paths will have a
|
|
# leading "/"
|
|
file_discovery.populate_horizon_config(
|
|
HORIZON_CONFIG,
|
|
os.path.join(horizon_home_dir, 'static/')
|
|
)
|
|
|
|
# filter out non-angular javascript code and lib
|
|
HORIZON_CONFIG['js_files'] = ([f for f in HORIZON_CONFIG['js_files']
|
|
if not f.startswith('horizon/')])
|
|
|
|
# note the path must end in a '/' or the resultant file paths will have a
|
|
# leading "/"
|
|
file_discovery.populate_horizon_config(
|
|
HORIZON_CONFIG,
|
|
os.path.join(os_dashboard_home_dir, 'static/'),
|
|
sub_path='app/'
|
|
)
|