#!/usr/bin/env python
# Copyright 2014-2018 CERN for the benefit of the ATLAS collaboration.
#
# 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.
#
# Authors:
# - Thomas Beermann <thomas.beermann@cern.ch>, 2014-2017
# - Vincent Garonne <vgaronne@gmail.com>, 2014
# - Mario Lassnig <mario.lassnig@cern.ch>, 2014-2018
# - Martin Barisits <martin.barisits@cern.ch>, 2014-2015
# - Ralph Vigne <ralph.vigne@cern.ch>, 2015
# - Cedric Serfon <cedric.serfon@cern.ch>, 2015-2019
# - Stefan Prenner <stefan.prenner@cern.ch>, 2018
# - Hannes Hansen <hannes.jakob.hansen@cern.ch>, 2019
#
# PY3K COMPATIBLE
from io import BytesIO
from json import dumps
from os.path import dirname, join
from tarfile import open, TarError
from gzip import GzipFile
from requests import get, ConnectionError
from web import application, header, input as param_input, seeother, template
from rucio.common.config import config_get
from rucio.common.utils import generate_http_error
from rucio.web.ui.common.utils import check_token, get_token
COMMON_URLS = (
'/account_rse_usage', 'AccountRSEUsage',
'/account', 'Account',
'/auth', 'Auth',
'/bad_replicas', 'BadReplicas',
'/suspicious_replicas', 'SuspiciousReplicas',
'/bad_replicas/summary', 'BadReplicasSummary',
'/did', 'DID',
'/heartbeats', 'Heartbeats',
'/lifetime_exception', 'LifetimeException',
'/list_lifetime_exceptions', 'ListLifetimeExceptions',
'/list_accounts', 'ListAccounts',
'/list_rules', 'ListRulesRedirect',
'/r2d2/approve', 'ApproveRules',
'/r2d2/request', 'RequestRule',
'/r2d2/manage_quota', 'RSEAccountUsage',
'/r2d2', 'ListRules',
'/rse', 'RSE',
'/rse/protocol/add', 'AddRSEProtocol',
'/rses', 'RSES',
'/rses/add', 'AddRSE',
'/rse_usage', 'RSEUsage',
'/rse_locks', 'RSELocks',
'/rule', 'Rule',
'/rules', 'Rules',
'/request_rule', 'RequestRuleRedirect',
'/search', 'Search',
'/subscriptions/rules', 'SubscriptionRules',
'/subscription', 'Subscription',
'/subscriptions', 'Subscriptions',
'/subscriptions_editor', 'SubscriptionsEditor',
'/logfiles/load', 'LoadLogfile',
'/logfiles/extract', 'ExtractLogfile'
)
POLICY = config_get('policy', 'permission')
ATLAS_URLS = ()
OTHER_URLS = ()
if POLICY == 'atlas':
ATLAS_URLS = (
'/', 'AtlasIndex',
'/account_usage', 'AccountUsage',
'/account_usage_history', 'AccountUsageHistory',
'/dumps', 'Dumps',
'/accounting', 'Accounting',
'/conditions_summary', 'Cond',
'/dbrelease_summary', 'DBRelease',
'/infrastructure', 'Infrastructure',
'/rule_backlog_monitor', 'BacklogMon'
)
else:
OTHER_URLS = (
'/', 'Index'
)
class Account(object):
""" Account info page """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.account())
class AccountUsage(object):
""" Group Account Usage overview """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.account_usage())
class AccountUsageHistory(object):
""" Group Account Usage overview """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.account_usage_history())
class AccountRSEUsage(object):
""" RSE usage per account """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.account_rse_usage())
class AddRSE(object):
""" Add RSE """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.add_rse())
class AddRSEProtocol(object):
""" Add protocol to RSE """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.rse_add_protocol())
class ApproveRules(object):
""" R2D2 rule approval overview """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.approve_rules())
class AtlasIndex(object):
""" Main page """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.atlas_index())
class Auth(object):
""" Local Auth Proxy """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
token = get_token()
if token:
header('X-Rucio-Auth-Token', token)
return str()
else:
raise generate_http_error(401, 'CannotAuthenticate', 'Cannot get token')
class Accounting(object):
""" Accounting """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.accounting())
class BadReplicas(object):
""" Bad replica monitoring """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.bad_replicas())
class SuspiciousReplicas(object):
""" AccountUsage """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.suspicious_replicas())
class BadReplicasSummary(object):
""" Bad replica overview """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.bad_replicas_summary())
class BacklogMon(object):
""" Rule Backlog Monitor """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.backlog_mon())
class Cond(object):
""" Condition DB overview """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.cond())
class DID(object):
""" DID detail page """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.did())
class DBRelease(object):
""" DB release overview """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__), 'templates/'))
return check_token(render.dbrelease())
class Dumps(object):
""" Description page for dumps """
def GET(self): # pylint:disable=no-self-use,invalid-name
""" GET """
render = template.render(join(dirname(__file__)
没有合适的资源?快使用搜索试试~ 我知道了~
PyPI 官网下载 | rucio-webui-1.19.6.tar.gz
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 143 浏览量
2022-01-16
00:09:19
上传
评论
收藏 449KB GZ 举报
温馨提示
共144个文件
js:57个
html:48个
py:9个
资源来自pypi官网。 资源全名:rucio-webui-1.19.6.tar.gz
资源推荐
资源详情
资源评论
收起资源包目录
PyPI 官网下载 | rucio-webui-1.19.6.tar.gz (144个子文件)
setup.cfg 1014B
ChangeLog 120B
foundation-icons.css 19KB
chosen.css 13KB
chosen.min.css 11KB
multiple-select.css 4KB
rucio.css 2KB
multiple-select2.css 2KB
http_monitoring.css 859B
foundation-icons.eot 53KB
spinner.gif 31KB
request_rule.html 16KB
http_monitoring_account_details.html 11KB
base.html 9KB
http_monitoring_scriptid_details.html 7KB
rse_add_protocol.html 6KB
list_rules.html 6KB
http_api_usage.html 6KB
subscriptions_editor.html 5KB
http_monitoring_index.html 5KB
dumps.html 5KB
http_monitoring_apiclass_details.html 4KB
http_monitoring_accounts.html 4KB
add_rse.html 4KB
approve_rules.html 4KB
rse.html 4KB
account.html 4KB
http_monitoring_apiclasses.html 3KB
http_monitoring_resources.html 3KB
http_monitoring_scriptids.html 3KB
lifetime_exception.html 3KB
suspicious_replicas.html 3KB
backlog_mon.html 3KB
dbrelease.html 3KB
cond.html 2KB
did.html 2KB
rse_account_usage.html 2KB
search.html 2KB
rules.html 2KB
rule.html 2KB
account_usage.html 2KB
infrastructure.html 2KB
rses.html 2KB
bad_replicas_summary.html 1KB
subscriptions.html 1KB
rse_locks.html 1KB
rse_usage.html 1KB
account_rse_usage.html 1KB
list_lifetime_exceptions.html 1KB
heartbeats.html 1KB
account_usage_history.html 1KB
bad_replicas.html 1KB
subscription.html 953B
accounts.html 886B
subscriptionrules.html 863B
problem.html 756B
accounting.html 749B
atlas_index.html 519B
index.html 471B
favicon.ico 1KB
MANIFEST.in 432B
error.jpg 83KB
rucio.js 61KB
request_rule.js 49KB
chosen.proto.js 44KB
chosen.jquery.js 44KB
did.js 43KB
chosen.proto.min.js 28KB
chosen.jquery.min.js 28KB
rule.js 23KB
rse_account_usage.js 23KB
jquery.multiple.select.js 23KB
jquery.multiple.select2.js 20KB
backlog_mon.js 15KB
subscriptions_editor.js 14KB
list_rules.js 13KB
bad_replicas_summary.js 12KB
http_monitoring_account_details.js 12KB
approve_rules.js 12KB
account_usage.js 12KB
lifetime_exception.js 12KB
rse_usage.js 11KB
suspicious_replicas.js 10KB
http_monitoring_utils.js 10KB
http_monitoring_scriptid_details.js 9KB
account_rse_usage.js 8KB
subscription.js 8KB
account_usage_history.js 7KB
rse.js 7KB
jquery.storageapi.min.js 7KB
base.js 7KB
account.js 7KB
rse_locks.js 6KB
rse_add_protocol.js 6KB
search.js 6KB
dbrelease.js 6KB
cond.js 6KB
http_monitoring_apiclass_details.js 5KB
subscriptions.js 5KB
accounting.js 5KB
共 144 条
- 1
- 2
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG20240609013653.jpg
- 分别通过BP神经网络和GRNN广义回归神经网络对电力负荷数据进行训练和预测matlab仿真,包括程序,注释,操作步骤
- 基于图像纹理特征提取的图像分割算法matlab仿真,包括程序,注释,操作步骤
- Spring Boot整合Redis通过Zset数据类型+定时任务实现延迟队列教程对应源码
- 创意互动:HTML+CSS+JS打造《三维端午节动态文字秀》大屏特效
- Python爬虫框架scrapy获取百度热搜
- IMG_20240609_015836.jpg
- 初音未来开机动画.zip
- 《创意互动:HTML+CSS+JS打造"儿童节"3D立体大屏动态文字动画》
- uniwlan.apk.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功