SYMBOL INDEX (936 symbols across 232 files) FILE: spug_api/apps/account/history.py class HistoryView (line 9) | class HistoryView(AdminView): method get (line 10) | def get(self, request): FILE: spug_api/apps/account/management/commands/set.py class Command (line 8) | class Command(BaseCommand): method add_arguments (line 11) | def add_arguments(self, parser): method echo_success (line 15) | def echo_success(self, msg): method echo_error (line 18) | def echo_error(self, msg): method print_help (line 21) | def print_help(self, *args): method handle (line 28) | def handle(self, *args, **options): FILE: spug_api/apps/account/management/commands/update.py class Command (line 11) | class Command(BaseCommand): method handle (line 14) | def handle(self, *args, **options): FILE: spug_api/apps/account/management/commands/updatedb.py class Command (line 9) | class Command(BaseCommand): method handle (line 12) | def handle(self, *args, **options): FILE: spug_api/apps/account/management/commands/user.py class Command (line 9) | class Command(BaseCommand): method add_arguments (line 12) | def add_arguments(self, parser): method echo_success (line 19) | def echo_success(self, msg): method echo_error (line 22) | def echo_error(self, msg): method print_help (line 25) | def print_help(self, *args): method handle (line 34) | def handle(self, *args, **options): FILE: spug_api/apps/account/models.py class User (line 11) | class User(models.Model, ModelMixin): method make_password (line 31) | def make_password(plain_password: str) -> str: method verify_password (line 34) | def verify_password(self, plain_password: str) -> bool: method get_perms_cache (line 37) | def get_perms_cache(self): method set_perms_cache (line 40) | def set_perms_cache(self, value=None): method page_perms (line 44) | def page_perms(self): method deploy_perms (line 58) | def deploy_perms(self): method group_perms (line 69) | def group_perms(self): method has_perms (line 76) | def has_perms(self, codes): method __repr__ (line 81) | def __repr__(self): class Meta (line 84) | class Meta: class Role (line 89) | class Role(models.Model, ModelMixin): method to_dict (line 98) | def to_dict(self, *args, **kwargs): method add_deploy_perm (line 106) | def add_deploy_perm(self, target, value): method clear_perms_cache (line 114) | def clear_perms_cache(self): method __repr__ (line 118) | def __repr__(self): class Meta (line 121) | class Meta: class History (line 126) | class History(models.Model, ModelMixin): class Meta (line 135) | class Meta: FILE: spug_api/apps/account/utils.py function get_host_perms (line 8) | def get_host_perms(user): function has_host_perm (line 16) | def has_host_perm(user, target): function verify_password (line 25) | def verify_password(password): FILE: spug_api/apps/account/views.py class UserView (line 22) | class UserView(AdminView): method get (line 23) | def get(self, request): method post (line 32) | def post(self, request): method patch (line 62) | def patch(self, request): method delete (line 81) | def delete(self, request): class RoleView (line 100) | class RoleView(AdminView): method get (line 101) | def get(self, request): method post (line 105) | def post(self, request): method patch (line 118) | def patch(self, request): method delete (line 140) | def delete(self, request): class SelfView (line 152) | class SelfView(View): method get (line 153) | def get(self, request): method patch (line 157) | def patch(self, request): function login (line 187) | def login(request): function handle_login_record (line 227) | def handle_login_record(request, username, login_type, error=None): function handle_user_info (line 242) | def handle_user_info(handle_response, request, user, captcha): function logout (line 286) | def logout(request): FILE: spug_api/apps/alarm/models.py class Alarm (line 10) | class Alarm(models.Model, ModelMixin): method to_dict (line 33) | def to_dict(self, *args, **kwargs): method __repr__ (line 40) | def __repr__(self): class Meta (line 43) | class Meta: class Group (line 48) | class Group(models.Model, ModelMixin): method to_dict (line 55) | def to_dict(self, *args, **kwargs): method __repr__ (line 60) | def __repr__(self): class Meta (line 63) | class Meta: class Contact (line 68) | class Contact(models.Model, ModelMixin): method __repr__ (line 81) | def __repr__(self): class Meta (line 84) | class Meta: FILE: spug_api/apps/alarm/views.py class AlarmView (line 14) | class AlarmView(View): method get (line 16) | def get(self, request): class GroupView (line 21) | class GroupView(View): method get (line 23) | def get(self, request): method post (line 28) | def post(self, request): method delete (line 45) | def delete(self, request): class ContactView (line 57) | class ContactView(View): method get (line 59) | def get(self, request): method post (line 79) | def post(self, request): method delete (line 100) | def delete(self, request): function handle_test (line 113) | def handle_test(request): FILE: spug_api/apps/apis/config.py function get_configs (line 13) | def get_configs(request): function _kv_response (line 30) | def _kv_response(data): function _env_response (line 37) | def _env_response(data): function _json_response (line 44) | def _json_response(data): function _parse_params (line 49) | def _parse_params(request): FILE: spug_api/apps/apis/deploy.py function auto_deploy (line 16) | def auto_deploy(request, deploy_id, kind): function _parse_request (line 37) | def _parse_request(request): function _parse_message (line 84) | def _parse_message(body, repo): function _dispatch (line 96) | def _dispatch(deploy_id, ref, commit_id=None, message=None): FILE: spug_api/apps/app/models.py class App (line 14) | class App(models.Model, ModelMixin): method to_dict (line 24) | def to_dict(self, *args, **kwargs): method __repr__ (line 30) | def __repr__(self): class Meta (line 33) | class Meta: class Deploy (line 38) | class Deploy(models.Model, ModelMixin): method extend_obj (line 56) | def extend_obj(self): method to_dict (line 60) | def to_dict(self, *args, **kwargs): method delete (line 69) | def delete(self, using=None, keep_parents=False): method __repr__ (line 76) | def __repr__(self): class Meta (line 79) | class Meta: class DeployExtend1 (line 84) | class DeployExtend1(models.Model, ModelMixin): method to_dict (line 96) | def to_dict(self, *args, **kwargs): method __repr__ (line 101) | def __repr__(self): class Meta (line 104) | class Meta: class DeployExtend2 (line 108) | class DeployExtend2(models.Model, ModelMixin): method to_dict (line 114) | def to_dict(self, *args, **kwargs): method __repr__ (line 120) | def __repr__(self): class Meta (line 123) | class Meta: FILE: spug_api/apps/app/utils.py function parse_envs (line 12) | def parse_envs(text): function fetch_versions (line 23) | def fetch_versions(deploy: Deploy): function fetch_repo (line 31) | def fetch_repo(deploy_id, git_repo): function remove_repo (line 38) | def remove_repo(deploy_id): FILE: spug_api/apps/app/views.py class AppView (line 15) | class AppView(View): method get (line 16) | def get(self, request): method post (line 34) | def post(self, request): method patch (line 60) | def patch(self, request): method delete (line 87) | def delete(self, request): class DeployView (line 107) | class DeployView(View): method get (line 109) | def get(self, request): method post (line 123) | def post(self, request): method delete (line 186) | def delete(self, request): function get_versions (line 201) | def get_versions(request, d_id): function kit_key (line 212) | def kit_key(request): FILE: spug_api/apps/config/models.py class Environment (line 9) | class Environment(models.Model, ModelMixin): method __repr__ (line 17) | def __repr__(self): class Meta (line 20) | class Meta: class Service (line 25) | class Service(models.Model, ModelMixin): method __repr__ (line 32) | def __repr__(self): class Meta (line 35) | class Meta: class Config (line 40) | class Config(models.Model, ModelMixin): method __repr__ (line 55) | def __repr__(self): class Meta (line 58) | class Meta: class ConfigHistory (line 63) | class ConfigHistory(models.Model, ModelMixin): method __repr__ (line 81) | def __repr__(self): class Meta (line 84) | class Meta: FILE: spug_api/apps/config/utils.py function compose_configs (line 9) | def compose_configs(app, env_id, no_prefix=False): FILE: spug_api/apps/config/views.py class EnvironmentView (line 14) | class EnvironmentView(View): method get (line 15) | def get(self, request): method post (line 23) | def post(self, request): method patch (line 46) | def patch(self, request): method delete (line 67) | def delete(self, request): class ServiceView (line 83) | class ServiceView(View): method get (line 85) | def get(self, request): method post (line 98) | def post(self, request): method delete (line 122) | def delete(self, request): class ConfigView (line 142) | class ConfigView(View): method get (line 144) | def get(self, request): method post (line 160) | def post(self, request): method patch (line 184) | def patch(self, request): method delete (line 211) | def delete(self, request): class HistoryView (line 230) | class HistoryView(View): method post (line 232) | def post(self, request): function post_diff (line 250) | def post_diff(request): function parse_json (line 268) | def parse_json(request): function parse_text (line 282) | def parse_text(request): function _parse (line 303) | def _parse(request, query, data): function _filter_value (line 337) | def _filter_value(value): FILE: spug_api/apps/deploy/helper.py class SpugError (line 14) | class SpugError(Exception): class Helper (line 18) | class Helper: method __init__ (line 19) | def __init__(self, rds, key): method make (line 25) | def make(cls, rds, key, host_ids=None): method _make_dd_notify (line 45) | def _make_dd_notify(cls, url, action, req, version, host_str): method _make_wx_notify (line 95) | def _make_wx_notify(cls, url, action, req, version, host_str): method _make_fs_notify (line 142) | def _make_fs_notify(cls, url, action, req, version, host_str): method send_deploy_notify (line 191) | def send_deploy_notify(cls, req, action=None): method add_callback (line 227) | def add_callback(self, func): method parse_filter_rule (line 230) | def parse_filter_rule(self, data: str, sep='\n', env=None): method _send (line 239) | def _send(self, message): method send_info (line 242) | def send_info(self, key, message): method send_error (line 246) | def send_error(self, key, message, with_break=True): method send_step (line 252) | def send_step(self, key, step, data): method clear (line 255) | def clear(self): method progress_callback (line 264) | def progress_callback(self, key): method local (line 272) | def local(self, command, env=None): method remote (line 292) | def remote(self, key, ssh, command, env=None): method remote_raw (line 299) | def remote_raw(self, key, ssh, command): FILE: spug_api/apps/deploy/models.py class DeployRequest (line 14) | class DeployRequest(models.Model, ModelMixin): method is_quick_deploy (line 50) | def is_quick_deploy(self): method delete (line 56) | def delete(self, using=None, keep_parents=False): method __repr__ (line 67) | def __repr__(self): class Meta (line 70) | class Meta: FILE: spug_api/apps/deploy/utils.py function dispatch (line 24) | def dispatch(req, fail_mode=False): function _ext1_deploy (line 76) | def _ext1_deploy(req, helper, env): function _ext2_deploy (line 131) | def _ext2_deploy(req, helper, env): function _deploy_ext1_host (line 224) | def _deploy_ext1_host(req, helper, h_id, env): function _deploy_ext2_host (line 283) | def _deploy_ext2_host(helper, h_id, actions, env, spug_version): FILE: spug_api/apps/deploy/views.py class RequestView (line 23) | class RequestView(View): method get (line 25) | def get(self, request): method delete (line 64) | def delete(self, request): class RequestDetailView (line 101) | class RequestDetailView(View): method get (line 103) | def get(self, request, r_id): method post (line 145) | def post(self, request, r_id): method patch (line 185) | def patch(self, request, r_id): function post_request_ext1 (line 208) | def post_request_ext1(request): function post_request_ext1_rollback (line 257) | def post_request_ext1_rollback(request): function post_request_ext2 (line 289) | def post_request_ext2(request): function get_request_info (line 330) | def get_request_info(request): function do_upload (line 344) | def do_upload(request): FILE: spug_api/apps/exec/executors.py function exec_worker_handler (line 13) | def exec_worker_handler(job): class Job (line 18) | class Job: method __init__ (line 19) | def __init__(self, key, name, hostname, port, username, pkey, command,... method _send (line 37) | def _send(self, message): method _handle_command (line 40) | def _handle_command(self, command, interpreter): method send (line 46) | def send(self, data): method send_status (line 49) | def send_status(self, code): method run (line 52) | def run(self): FILE: spug_api/apps/exec/management/commands/runworker.py class Worker (line 25) | class Worker: method __init__ (line 26) | def __init__(self): method job_done (line 30) | def job_done(self, future): method queue_monitor (line 33) | def queue_monitor(self): method run (line 52) | def run(self): class Command (line 70) | class Command(BaseCommand): method handle (line 73) | def handle(self, *args, **options): FILE: spug_api/apps/exec/models.py class ExecTemplate (line 10) | class ExecTemplate(models.Model, ModelMixin): method __repr__ (line 23) | def __repr__(self): method to_view (line 26) | def to_view(self): class Meta (line 32) | class Meta: class ExecHistory (line 37) | class ExecHistory(models.Model, ModelMixin): method to_view (line 47) | def to_view(self): class Meta (line 57) | class Meta: class Transfer (line 62) | class Transfer(models.Model, ModelMixin): method to_view (line 71) | def to_view(self): class Meta (line 76) | class Meta: FILE: spug_api/apps/exec/transfer.py class TransferView (line 24) | class TransferView(View): method get (line 26) | def get(self, request): method post (line 31) | def post(self, request): method patch (line 86) | def patch(self, request): function _dispatch_sync (line 96) | def _dispatch_sync(task): function _do_sync (line 121) | def _do_sync(rds, task, host): FILE: spug_api/apps/exec/views.py class TemplateView (line 15) | class TemplateView(View): method get (line 18) | def get(self, request): method post (line 24) | def post(self, request): method delete (line 46) | def delete(self, request): class TaskView (line 55) | class TaskView(View): method get (line 57) | def get(self, request): method post (line 62) | def post(self, request): method patch (line 93) | def patch(self, request): FILE: spug_api/apps/file/utils.py class FileResponseAfter (line 15) | class FileResponseAfter(FileResponse): method __init__ (line 16) | def __init__(self, callback, *args, **kwargs): method close (line 20) | def close(self): function parse_mode (line 25) | def parse_mode(obj): function format_size (line 58) | def format_size(size): function fetch_dir_list (line 73) | def fetch_dir_list(host, path): FILE: spug_api/apps/file/views.py class FileView (line 14) | class FileView(View): method get (line 16) | def get(self, request): class ObjectView (line 32) | class ObjectView(View): method get (line 34) | def get(self, request): method post (line 53) | def post(self, request): method delete (line 75) | def delete(self, request): method _compute_progress (line 90) | def _compute_progress(self, rds_cli, token, total, value, *args): FILE: spug_api/apps/home/models.py class Notice (line 9) | class Notice(models.Model, ModelMixin): method to_view (line 17) | def to_view(self): class Meta (line 22) | class Meta: class Navigation (line 27) | class Navigation(models.Model, ModelMixin): method to_view (line 35) | def to_view(self): class Meta (line 40) | class Meta: FILE: spug_api/apps/home/navigation.py class NavView (line 10) | class NavView(View): method get (line 11) | def get(self, request): method post (line 15) | def post(self, request): method patch (line 33) | def patch(self, request): method delete (line 53) | def delete(self, request): FILE: spug_api/apps/home/notice.py class NoticeView (line 10) | class NoticeView(View): method get (line 11) | def get(self, request): method post (line 15) | def post(self, request): method patch (line 33) | def patch(self, request): method delete (line 58) | def delete(self, request): FILE: spug_api/apps/home/views.py function get_statistic (line 19) | def get_statistic(request): function get_alarm (line 37) | def get_alarm(request): function get_request (line 55) | def get_request(request): function get_deploy (line 71) | def get_deploy(request): FILE: spug_api/apps/host/add.py function get_regions (line 11) | def get_regions(request): function cloud_import (line 30) | def cloud_import(request): FILE: spug_api/apps/host/extend.py class ExtendView (line 11) | class ExtendView(View): method get (line 13) | def get(self, request): method post (line 29) | def post(self, request): FILE: spug_api/apps/host/group.py function fetch_children (line 11) | def fetch_children(data, with_hosts): function merge_children (line 21) | def merge_children(data, prefix, childes): function filter_by_perm (line 32) | def filter_by_perm(data, result, ids): class GroupView (line 41) | class GroupView(View): method get (line 42) | def get(self, request): method post (line 60) | def post(self, request): method patch (line 76) | def patch(self, request): method delete (line 106) | def delete(self, request): FILE: spug_api/apps/host/models.py class Host (line 12) | class Host(models.Model, ModelMixin): method private_key (line 24) | def private_key(self): method get_ssh (line 27) | def get_ssh(self, pkey=None, default_env=None): method to_view (line 31) | def to_view(self): method __repr__ (line 38) | def __repr__(self): class Meta (line 41) | class Meta: class HostExtend (line 46) | class HostExtend(models.Model, ModelMixin): method to_view (line 73) | def to_view(self): class Meta (line 82) | class Meta: class Group (line 86) | class Group(models.Model, ModelMixin): method to_view (line 92) | def to_view(self, with_hosts=False): class Meta (line 101) | class Meta: FILE: spug_api/apps/host/utils.py function check_os_type (line 20) | def check_os_type(os_name): function check_instance_charge_type (line 29) | def check_instance_charge_type(value, supplier): function check_internet_charge_type (line 43) | def check_internet_charge_type(value, supplier): function parse_utc_date (line 57) | def parse_utc_date(value): function fetch_ali_regions (line 67) | def fetch_ali_regions(ak, ac): function fetch_ali_disks (line 76) | def fetch_ali_disks(ak, ac, region_id, page_number=1): function fetch_ali_instances (line 97) | def fetch_ali_instances(ak, ac, region_id, page_number=1): function fetch_tencent_regions (line 139) | def fetch_tencent_regions(ak, ac): function fetch_tencent_instances (line 148) | def fetch_tencent_instances(ak, ac, region_id, page_number=1): function fetch_host_extend (line 185) | def fetch_host_extend(ssh): function batch_sync_host (line 252) | def batch_sync_host(token, hosts, password=None): function _sync_host_extend (line 274) | def _sync_host_extend(host, private_key=None, public_key=None, password=... function _get_ssh (line 293) | def _get_ssh(kwargs, pkey=None, private_key=None, public_key=None, passw... FILE: spug_api/apps/host/views.py class HostView (line 24) | class HostView(View): method get (line 25) | def get(self, request): method post (line 35) | def post(self, request): method put (line 67) | def put(self, request): method patch (line 78) | def patch(self, request): method delete (line 96) | def delete(self, request): function post_import (line 129) | def post_import(request): function post_parse (line 169) | def post_parse(request): function batch_valid (line 179) | def batch_valid(request): function _do_host_verify (line 195) | def _do_host_verify(form): FILE: spug_api/apps/monitor/executors.py function site_check (line 20) | def site_check(url, limit): function port_check (line 36) | def port_check(addr, port): function ping_check (line 47) | def ping_check(addr): function host_executor (line 62) | def host_executor(host, command): function monitor_worker_handler (line 74) | def monitor_worker_handler(job): function dispatch (line 111) | def dispatch(tp, addr, extra): FILE: spug_api/apps/monitor/management/commands/runmonitor.py class Command (line 11) | class Command(BaseCommand): method handle (line 14) | def handle(self, *args, **options): FILE: spug_api/apps/monitor/models.py class Detection (line 10) | class Detection(models.Model, ModelMixin): method to_view (line 42) | def to_view(self): method __repr__ (line 50) | def __repr__(self): class Meta (line 53) | class Meta: FILE: spug_api/apps/monitor/scheduler.py class Scheduler (line 21) | class Scheduler: method __init__ (line 24) | def __init__(self): method _dispatch (line 27) | def _dispatch(self, task_id, tp, targets, extra, threshold, quiet): method _init (line 34) | def _init(self): method run (line 51) | def run(self): FILE: spug_api/apps/monitor/utils.py function seconds_to_human (line 11) | def seconds_to_human(seconds): function _record_alarm (line 24) | def _record_alarm(det, target, duration, status): function handle_notify (line 35) | def handle_notify(task_id, target, is_ok, out, fault_times): FILE: spug_api/apps/monitor/views.py class DetectionView (line 15) | class DetectionView(View): method get (line 17) | def get(self, request): method post (line 23) | def post(self, request): method patch (line 65) | def patch(self, request): method delete (line 84) | def delete(self, request): function run_test (line 98) | def run_test(request): function get_overview (line 111) | def get_overview(request): FILE: spug_api/apps/notify/models.py class Notify (line 11) | class Notify(models.Model, ModelMixin): method make_system_notify (line 32) | def make_system_notify(cls, title, content): method make_monitor_notify (line 36) | def make_monitor_notify(cls, title, content): method make_schedule_notify (line 40) | def make_schedule_notify(cls, title, content): method make_deploy_notify (line 44) | def make_deploy_notify(cls, title, content): method _make_notify (line 48) | def _make_notify(cls, source, type, title, content): method __repr__ (line 57) | def __repr__(self): class Meta (line 60) | class Meta: FILE: spug_api/apps/notify/views.py class NotifyView (line 9) | class NotifyView(View): method get (line 10) | def get(self, request): method patch (line 14) | def patch(self, request): FILE: spug_api/apps/repository/models.py class Repository (line 14) | class Repository(models.Model, ModelMixin): method make_spug_version (line 33) | def make_spug_version(deploy_id): method to_view (line 36) | def to_view(self): method delete (line 48) | def delete(self, using=None, keep_parents=False): class Meta (line 56) | class Meta: FILE: spug_api/apps/repository/utils.py function dispatch (line 20) | def dispatch(rep: Repository, helper=None): function _build (line 66) | def _build(rep: Repository, helper, env): FILE: spug_api/apps/repository/views.py class RepositoryView (line 17) | class RepositoryView(View): method get (line 19) | def get(self, request): method post (line 41) | def post(self, request): method patch (line 64) | def patch(self, request): method delete (line 79) | def delete(self, request): function get_requests (line 94) | def get_requests(request): function get_detail (line 109) | def get_detail(request, r_id): FILE: spug_api/apps/schedule/builtin.py function auto_run_by_day (line 24) | def auto_run_by_day(): function auto_run_by_minute (line 69) | def auto_run_by_minute(): FILE: spug_api/apps/schedule/executors.py function local_executor (line 15) | def local_executor(command): function host_executor (line 28) | def host_executor(host, command): function dispatch_job (line 40) | def dispatch_job(host_id, interpreter, command): function schedule_worker_handler (line 55) | def schedule_worker_handler(job): FILE: spug_api/apps/schedule/management/commands/runscheduler.py class Command (line 11) | class Command(BaseCommand): method handle (line 14) | def handle(self, *args, **options): FILE: spug_api/apps/schedule/models.py class History (line 10) | class History(models.Model, ModelMixin): method to_list (line 21) | def to_list(self): class Meta (line 26) | class Meta: class Task (line 31) | class Task(models.Model, ModelMixin): method to_dict (line 55) | def to_dict(self, *args, **kwargs): method __repr__ (line 66) | def __repr__(self): class Meta (line 69) | class Meta: FILE: spug_api/apps/schedule/scheduler.py class Scheduler (line 22) | class Scheduler: method __init__ (line 39) | def __init__(self): method covert_week (line 43) | def covert_week(cls, week_str): method parse_trigger (line 47) | def parse_trigger(cls, trigger, trigger_args): method _init_builtin_jobs (line 61) | def _init_builtin_jobs(self): method _dispatch (line 65) | def _dispatch(self, task_id, interpreter, command, targets): method _init (line 79) | def _init(self): method run (line 95) | def run(self): FILE: spug_api/apps/schedule/utils.py function send_fail_notify (line 11) | def send_fail_notify(task, msg=None): function _do_notify (line 19) | def _do_notify(task, mode, url, msg): FILE: spug_api/apps/schedule/views.py class Schedule (line 17) | class Schedule(View): method get (line 19) | def get(self, request): method post (line 25) | def post(self, request): method patch (line 68) | def patch(self, request): method delete (line 89) | def delete(self, request): class HistoryView (line 103) | class HistoryView(View): method get (line 105) | def get(self, request, t_id): method post (line 118) | def post(self, request, t_id): method _fetch_detail (line 137) | def _fetch_detail(self, h_id): function next_run_time (line 160) | def next_run_time(request): FILE: spug_api/apps/setting/models.py class Setting (line 23) | class Setting(models.Model, ModelMixin): method to_view (line 28) | def to_view(self): method real_val (line 34) | def real_val(self): method __repr__ (line 40) | def __repr__(self): class Meta (line 43) | class Meta: class UserSetting (line 47) | class UserSetting(models.Model, ModelMixin): class Meta (line 52) | class Meta: FILE: spug_api/apps/setting/user.py class UserSettingView (line 9) | class UserSettingView(View): method get (line 10) | def get(self, request): method post (line 16) | def post(self, request): FILE: spug_api/apps/setting/utils.py class AppSetting (line 10) | class AppSetting: method get (line 13) | def get(cls, key): method get_default (line 20) | def get_default(cls, key, default=None): method set (line 27) | def set(cls, key, value, desc=None): method delete (line 35) | def delete(cls, key): method get_ssh_key (line 39) | def get_ssh_key(cls): FILE: spug_api/apps/setting/views.py class SettingView (line 19) | class SettingView(AdminView): method get (line 20) | def get(self, request): method post (line 29) | def post(self, request): class MFAView (line 39) | class MFAView(AdminView): method get (line 40) | def get(self, request): method post (line 52) | def post(self, request): function ldap_test (line 75) | def ldap_test(request): function email_test (line 94) | def email_test(request): function get_about (line 113) | def get_about(request): function handle_push_bind (line 123) | def handle_push_bind(request): function handle_push_balance (line 143) | def handle_push_balance(request): FILE: spug_api/consumer/consumers.py class ComConsumer (line 16) | class ComConsumer(BaseConsumer): method __init__ (line 17) | def __init__(self, *args, **kwargs): method disconnect (line 31) | def disconnect(self, code): method get_response (line 34) | def get_response(self, index): method receive (line 43) | def receive(self, text_data='', **kwargs): class SSHConsumer (line 54) | class SSHConsumer(BaseConsumer): method __init__ (line 55) | def __init__(self, *args, **kwargs): method loop_read (line 61) | def loop_read(self): method receive (line 86) | def receive(self, text_data=None, bytes_data=None): method disconnect (line 97) | def disconnect(self, code): method init (line 103) | def init(self): class NotifyConsumer (line 122) | class NotifyConsumer(BaseConsumer): method init (line 123) | def init(self): method disconnect (line 126) | def disconnect(self, code): method receive (line 129) | def receive(self, **kwargs): method notify_message (line 132) | def notify_message(self, event): class PubSubConsumer (line 136) | class PubSubConsumer(BaseConsumer): method __init__ (line 137) | def __init__(self, *args, **kwargs): method disconnect (line 144) | def disconnect(self, code): method receive (line 148) | def receive(self, **kwargs): FILE: spug_api/consumer/utils.py function get_real_ip (line 13) | def get_real_ip(headers): class BaseConsumer (line 18) | class BaseConsumer(WebsocketConsumer): method __init__ (line 19) | def __init__(self, *args, **kwargs): method close_with_message (line 23) | def close_with_message(self, content): method connect (line 27) | def connect(self): FILE: spug_api/libs/channel.py class Channel (line 11) | class Channel: method get_token (line 13) | def get_token(): method send_notify (line 17) | def send_notify(title, content): FILE: spug_api/libs/decorators.py function auth (line 8) | def auth(perm_list): FILE: spug_api/libs/gitlib.py class Git (line 11) | class Git: method __init__ (line 12) | def __init__(self, git_repo, repo_dir, pkey=None): method archive (line 20) | def archive(self, filepath, commit): method fetch_branches_tags (line 24) | def fetch_branches_tags(self): method fetch (line 46) | def fetch(self): method _get_repo (line 58) | def _get_repo(self): method _get_commits (line 76) | def _get_commits(self, branch, count=10): method _format_date (line 89) | def _format_date(self, timestamp): method __enter__ (line 95) | def __enter__(self): method __exit__ (line 104) | def __exit__(self, exc_type, exc_val, exc_tb): FILE: spug_api/libs/helper.py function _special_url_encode (line 16) | def _special_url_encode(value) -> str: function _make_ali_signature (line 24) | def _make_ali_signature(key: str, params: dict) -> bytes: function _make_tencent_signature (line 31) | def _make_tencent_signature(endpoint: str, key: str, params: dict) -> by... function make_ali_request (line 38) | def make_ali_request(ak, ac, endpoint, params): function make_tencent_request (line 52) | def make_tencent_request(ak, ac, endpoint, params): FILE: spug_api/libs/ldap.py class LDAP (line 7) | class LDAP: method __init__ (line 8) | def __init__(self, server, port, rules, admin_dn, password, base_dn): method valid_user (line 16) | def valid_user(self, username, password): FILE: spug_api/libs/mail.py class Mail (line 7) | class Mail: method __init__ (line 8) | def __init__(self, server, port, username, password, nickname=None): method get_server (line 15) | def get_server(self): method send_text_mail (line 27) | def send_text_mail(self, receivers, subject, body): FILE: spug_api/libs/middleware.py class HandleExceptionMiddleware (line 13) | class HandleExceptionMiddleware(MiddlewareMixin): method process_exception (line 18) | def process_exception(self, request, exception): class AuthenticationMiddleware (line 23) | class AuthenticationMiddleware(MiddlewareMixin): method process_request (line 28) | def process_request(self, request): FILE: spug_api/libs/mixins.py class ModelMixin (line 9) | class ModelMixin(object): method to_dict (line 12) | def to_dict(self, excludes: tuple = None, selects: tuple = None) -> dict: method update_by_dict (line 22) | def update_by_dict(self, data): class AdminView (line 28) | class AdminView(View): method dispatch (line 29) | def dispatch(self, request, *args, **kwargs): FILE: spug_api/libs/parser.py class ParseError (line 10) | class ParseError(BaseException): method __init__ (line 11) | def __init__(self, message): class Argument (line 16) | class Argument(object): method __init__ (line 23) | def __init__(self, name, default=None, handler=None, required=True, ty... method parse (line 36) | def parse(self, has_key, value): class BaseParser (line 76) | class BaseParser(object): method __init__ (line 77) | def __init__(self, *args): method _get (line 86) | def _get(self, key): method _init (line 89) | def _init(self, data): method add_argument (line 92) | def add_argument(self, **kwargs): method parse (line 95) | def parse(self, data=None, clear=False): class JsonParser (line 110) | class JsonParser(BaseParser): method __init__ (line 111) | def __init__(self, *args): method _get (line 115) | def _get(self, key): method _init (line 118) | def _init(self, data): FILE: spug_api/libs/push.py function get_balance (line 10) | def get_balance(token): function get_contacts (line 20) | def get_contacts(token): function send_login_code (line 30) | def send_login_code(token, user, code): FILE: spug_api/libs/spug.py function _gen_dd_sign (line 19) | def _gen_dd_sign(secret): function _gen_fs_sign (line 27) | def _gen_fs_sign(secret): class Notification (line 35) | class Notification: method __init__ (line 36) | def __init__(self, grp, event, target, title, message, duration): method handle_request (line 46) | def handle_request(url, data, mode=None): method monitor_by_email (line 70) | def monitor_by_email(self, users): method monitor_by_dd (line 91) | def monitor_by_dd(self, users): method monitor_by_fs (line 117) | def monitor_by_fs(self, users): method monitor_by_qy_wx (line 146) | def monitor_by_qy_wx(self, users): method monitor_by_spug_push (line 166) | def monitor_by_spug_push(self, targets): method dispatch_monitor (line 187) | def dispatch_monitor(self, modes): FILE: spug_api/libs/ssh.py function _finalize_pubkey_algorithm (line 15) | def _finalize_pubkey_algorithm(self, key_type): class SSH (line 52) | class SSH: method __init__ (line 53) | def __init__(self, hostname, port=22, username='root', pkey=None, pass... method generate_key (line 77) | def generate_key(): method get_client (line 83) | def get_client(self): method ping (line 91) | def ping(self): method add_public_key (line 94) | def add_public_key(self, public_key): method exec_command_raw (line 102) | def exec_command_raw(self, command, environment=None): method exec_command (line 111) | def exec_command(self, command, environment=None): method _win_exec_command_with_stream (line 126) | def _win_exec_command_with_stream(self, command, environment=None): method exec_command_with_stream (line 140) | def exec_command_with_stream(self, command, environment=None): method put_file (line 157) | def put_file(self, local_path, remote_path, callback=None): method put_file_by_fl (line 161) | def put_file_by_fl(self, fl, remote_path, callback=None): method list_dir_attr (line 165) | def list_dir_attr(self, path): method sftp_stat (line 169) | def sftp_stat(self, path): method remove_file (line 173) | def remove_file(self, path): method _get_channel (line 177) | def _get_channel(self): method _get_sftp (line 203) | def _get_sftp(self): method _make_env_command (line 210) | def _make_env_command(self, environment): method _handle_command (line 222) | def _handle_command(self, command, environment): method _decode (line 237) | def _decode(self, content): method __enter__ (line 244) | def __enter__(self): method __exit__ (line 252) | def __exit__(self, exc_type, exc_val, exc_tb): FILE: spug_api/libs/utils.py function human_datetime (line 15) | def human_datetime(date=None): function human_date (line 24) | def human_date(date=None): function human_time (line 32) | def human_time(date=None): function str_decode (line 40) | def str_decode(data): function parse_time (line 52) | def parse_time(value): function human_seconds_time (line 64) | def human_seconds_time(seconds): function render_str (line 81) | def render_str(template, datasheet): function json_response (line 85) | def json_response(data='', error=''): class AttrDict (line 97) | class AttrDict(dict): method __setattr__ (line 98) | def __setattr__(self, key, value): method __getattr__ (line 101) | def __getattr__(self, item): method __delattr__ (line 107) | def __delattr__(self, item): class DateTimeEncoder (line 112) | class DateTimeEncoder(json.JSONEncoder): method default (line 113) | def default(self, o): function generate_random_str (line 125) | def generate_random_str(length: int = 4, is_digits: bool = True) -> str: function get_request_real_ip (line 130) | def get_request_real_ip(headers: dict): FILE: spug_api/libs/validators.py function ip_validator (line 9) | def ip_validator(value): function date_validator (line 18) | def date_validator(value: str) -> bool: FILE: spug_api/manage.py function main (line 10) | def main(): FILE: spug_api/tools/migrate.py class Version (line 19) | class Version: method __init__ (line 20) | def __init__(self, version): method __gt__ (line 23) | def __gt__(self, other): FILE: spug_web/src/App.js class App (line 12) | class App extends Component { method render (line 13) | render() { FILE: spug_web/src/components/Action.js function canVisible (line 11) | function canVisible(auth) { class Action (line 15) | class Action extends React.Component { method Link (line 16) | static Link(props) { method Button (line 20) | static Button(props) { method render (line 32) | render() { FILE: spug_web/src/components/AppSelector.js function _initEnv (line 34) | function _initEnv() { FILE: spug_web/src/components/AuthButton.js function AuthButton (line 11) | function AuthButton(props) { FILE: spug_web/src/components/AuthCard.js function AuthCard (line 11) | function AuthCard(props) { FILE: spug_web/src/components/AuthDiv.js function AuthDiv (line 10) | function AuthDiv(props) { FILE: spug_web/src/components/AuthFragment.js function AuthFragment (line 10) | function AuthFragment(props) { FILE: spug_web/src/components/Breadcrumb.js method render (line 14) | render() { FILE: spug_web/src/components/Link.js function Link (line 9) | function Link(props) { FILE: spug_web/src/components/LinkButton.js function LinkButton (line 11) | function LinkButton(props) { FILE: spug_web/src/components/NotFound.js function NotFound (line 4) | function NotFound() { FILE: spug_web/src/components/SearchForm.js method Item (line 11) | static Item(props) { method render (line 21) | render() { FILE: spug_web/src/components/StatisticsCard.js class StatisticsCard (line 12) | class StatisticsCard extends React.Component { method render (line 23) | render() { FILE: spug_web/src/components/TableCard.js function Search (line 14) | function Search(props) { function Footer (line 35) | function Footer(props) { function Header (line 50) | function Header(props) { function TableCard (line 124) | function TableCard(props) { FILE: spug_web/src/gStore.js class Store (line 10) | class Store { FILE: spug_web/src/layout/Header.js function handleLogout (line 19) | function handleLogout() { function openTerminal (line 24) | function openTerminal() { FILE: spug_web/src/layout/Notification.js function Icon (line 18) | function Icon(props) { function fetch (line 55) | function fetch() { function listen (line 65) | function listen() { function handleVisible (line 86) | function handleVisible(visible) { function handleRead (line 92) | function handleRead(e, item) { function handleReadAll (line 101) | function handleReadAll() { FILE: spug_web/src/layout/Sider.js function Sider (line 20) | function Sider(props) { FILE: spug_web/src/layout/index.js function initRoutes (line 17) | function initRoutes(Routes, routes) { FILE: spug_web/src/libs/functools.js constant X_TOKEN (line 12) | let X_TOKEN; function updatePermissions (line 15) | function updatePermissions() { function hasPermission (line 27) | function hasPermission(strCode) { function clsNames (line 38) | function clsNames(...args) { function isInclude (line 42) | function isInclude(s, keys) { function includes (line 57) | function includes(s, keys) { function cleanCommand (line 69) | function cleanCommand(text) { function isSubArray (line 74) | function isSubArray(parent, child) { function trimFixed (line 84) | function trimFixed(data, bit) { function human_date (line 89) | function human_date(date) { function human_time (line 97) | function human_time(date) { function human_datetime (line 105) | function human_datetime(date) { function uniqueId (line 110) | function uniqueId() { FILE: spug_web/src/libs/http.js function handleResponse (line 12) | function handleResponse(response) { FILE: spug_web/src/libs/index.js constant VERSION (line 13) | const VERSION = 'v3.3.3'; FILE: spug_web/src/libs/router.js function makeRoute (line 13) | function makeRoute(path, component) { function makeModuleRoute (line 18) | function makeModuleRoute(prefix, routes) { function NotFound (line 23) | function NotFound() { class Router (line 38) | class Router extends React.Component { method constructor (line 39) | constructor(props) { method initialRoutes (line 45) | initialRoutes() { method render (line 54) | render() { FILE: spug_web/src/pages/alarm/alarm/Table.js class ComTable (line 14) | @observer method constructor (line 16) | constructor(props) { method componentDidMount (line 23) | componentDidMount() { method render (line 68) | render() { FILE: spug_web/src/pages/alarm/alarm/store.js class Store (line 9) | class Store { method dataSource (line 16) | @computed get dataSource() { FILE: spug_web/src/pages/alarm/contact/Form.js function handleChannelToggle (line 61) | function handleChannelToggle(key, checked) { function handleSubmit (line 72) | function handleSubmit() { function handleTest (line 90) | function handleTest(mode, name) { function Test (line 101) | function Test(props) { FILE: spug_web/src/pages/alarm/contact/Table.js class ComTable (line 14) | @observer method componentDidMount (line 16) | componentDidMount() { method render (line 34) | render() { FILE: spug_web/src/pages/alarm/contact/store.js class Store (line 9) | class Store { method dataSource (line 17) | @computed get dataSource() { FILE: spug_web/src/pages/alarm/group/Form.js function handleSubmit (line 25) | function handleSubmit() { FILE: spug_web/src/pages/alarm/group/Table.js class ComTable (line 15) | @observer method constructor (line 17) | constructor(props) { method componentDidMount (line 24) | componentDidMount() { method render (line 55) | render() { FILE: spug_web/src/pages/alarm/group/store.js class Store (line 9) | class Store { method dataSource (line 17) | @computed get dataSource() { FILE: spug_web/src/pages/config/app/Form.js function handleSubmit (line 16) | function handleSubmit() { FILE: spug_web/src/pages/config/app/Rel.js class Rel (line 13) | @observer method constructor (line 15) | constructor(props) { method componentDidMount (line 24) | componentDidMount() { method render (line 50) | render() { FILE: spug_web/src/pages/config/app/Table.js class ComTable (line 14) | @observer method componentDidMount (line 16) | componentDidMount() { method render (line 39) | render() { FILE: spug_web/src/pages/config/app/store.js class Store (line 9) | class Store { FILE: spug_web/src/pages/config/environment/Form.js function handleSubmit (line 16) | function handleSubmit() { FILE: spug_web/src/pages/config/environment/Table.js function ComTable (line 14) | function ComTable() { FILE: spug_web/src/pages/config/environment/store.js class Store (line 9) | class Store { method dataSource (line 18) | @computed get dataSource() { FILE: spug_web/src/pages/config/service/Form.js function handleSubmit (line 16) | function handleSubmit() { FILE: spug_web/src/pages/config/service/Table.js class ComTable (line 14) | @observer method componentDidMount (line 16) | componentDidMount() { method render (line 39) | render() { FILE: spug_web/src/pages/config/service/store.js class Store (line 9) | class Store { method dataSource (line 17) | @computed get dataSource() { FILE: spug_web/src/pages/config/setting/DiffConfig.js class Record (line 15) | @observer method constructor (line 17) | constructor(props) { method render (line 54) | render() { FILE: spug_web/src/pages/config/setting/Form.js function handleSubmit (line 21) | function handleSubmit() { function handleEnvCheck (line 42) | function handleEnvCheck(id) { FILE: spug_web/src/pages/config/setting/JSONView.js class JSONView (line 14) | @observer method constructor (line 16) | constructor(props) { method componentDidMount (line 25) | componentDidMount() { method render (line 53) | render() { FILE: spug_web/src/pages/config/setting/Record.js class Record (line 12) | @observer method constructor (line 14) | constructor(props) { method componentDidMount (line 23) | componentDidMount() { method render (line 57) | render() { FILE: spug_web/src/pages/config/setting/TableView.js class TableView (line 15) | @observer method render (line 72) | render() { FILE: spug_web/src/pages/config/setting/TextView.js class TextView (line 17) | @observer method constructor (line 19) | constructor(props) { method componentDidMount (line 28) | componentDidMount() { method render (line 51) | render() { FILE: spug_web/src/pages/config/setting/index.js class Index (line 28) | @observer method constructor (line 30) | constructor(props) { method componentDidMount (line 39) | componentDidMount() { method render (line 72) | render() { FILE: spug_web/src/pages/config/setting/store.js class Store (line 9) | class Store { FILE: spug_web/src/pages/dashboard/AlarmTrend.js function handleChange (line 38) | function handleChange(v) { FILE: spug_web/src/pages/dashboard/RequestTop.js function handleClick (line 28) | function handleClick(val) { FILE: spug_web/src/pages/dashboard/StatisticCard.js class StatisticCard (line 10) | class StatisticCard extends React.Component { method constructor (line 11) | constructor(props) { method componentDidMount (line 19) | componentDidMount() { method render (line 25) | render() { FILE: spug_web/src/pages/dashboard/index.js class HomeIndex (line 12) | class HomeIndex extends React.Component { method render (line 13) | render() { FILE: spug_web/src/pages/deploy/app/AddSelect.js class AddSelect (line 13) | @observer method render (line 39) | render() { FILE: spug_web/src/pages/deploy/app/AutoDeploy.js function fetchVersions (line 35) | function fetchVersions() { function copyToClipBoard (line 42) | function copyToClipBoard(data) { FILE: spug_web/src/pages/deploy/app/CloneConfirm.js function handleChange (line 30) | function handleChange(deployId) { FILE: spug_web/src/pages/deploy/app/Ext1Setup1.js function updateEnvs (line 19) | function updateEnvs() { FILE: spug_web/src/pages/deploy/app/Ext1Setup2.js function handleNext (line 19) | function handleNext() { FILE: spug_web/src/pages/deploy/app/Ext1Setup3.js function handleSubmit (line 17) | function handleSubmit() { FILE: spug_web/src/pages/deploy/app/Ext2Setup1.js function updateEnvs (line 17) | function updateEnvs() { FILE: spug_web/src/pages/deploy/app/Ext2Setup2.js class Ext2Setup2 (line 17) | @observer method constructor (line 19) | constructor(props) { method render (line 68) | render() { FILE: spug_web/src/pages/deploy/app/Form.js function handleSubmit (line 16) | function handleSubmit() { FILE: spug_web/src/pages/deploy/app/Repo.js function Repo (line 10) | function Repo(props) { FILE: spug_web/src/pages/deploy/app/Table.js function ComTable (line 24) | function ComTable() { FILE: spug_web/src/pages/deploy/app/store.js class Store (line 10) | class Store { method dataSource (line 27) | @computed get dataSource() { method currentRecord (line 34) | @computed get currentRecord() { FILE: spug_web/src/pages/deploy/repository/Console.js function _makeSocket (line 42) | function _makeSocket(index = 0) { function initialTerm (line 71) | function initialTerm() { function handleClose (line 88) | function handleClose() { function StepItem (line 93) | function StepItem(props) { FILE: spug_web/src/pages/deploy/repository/Detail.js function handleDelete (line 21) | function handleDelete() { FILE: spug_web/src/pages/deploy/repository/Form.js function _setDefault (line 29) | function _setDefault(type, new_extra, new_versions) { function _initial (line 49) | function _initial(versions) { function fetchVersions (line 68) | function fetchVersions() { function switchType (line 78) | function switchType(v) { function switchExtra1 (line 83) | function switchExtra1(v) { function handleSubmit (line 90) | function handleSubmit() { FILE: spug_web/src/pages/deploy/repository/Table.js function ComTable (line 14) | function ComTable() { FILE: spug_web/src/pages/deploy/repository/store.js class Store (line 9) | class Store { method dataSource (line 22) | @computed get dataSource() { FILE: spug_web/src/pages/deploy/request/Approve.js function handleSubmit (line 18) | function handleSubmit() { function handleChange (line 29) | function handleChange(val) { FILE: spug_web/src/pages/deploy/request/BatchDelete.js function handleSubmit (line 26) | function handleSubmit() { function handleChange (line 46) | function handleChange(e) { FILE: spug_web/src/pages/deploy/request/Ext1Console.js function Ext1Console (line 15) | function Ext1Console(props) { FILE: spug_web/src/pages/deploy/request/Ext1Form.js function NoVersions (line 16) | function NoVersions() { function fetchVersions (line 50) | function fetchVersions() { function handleSubmit (line 64) | function handleSubmit() { function _setDefault (line 84) | function _setDefault(type, new_extra, new_versions, new_repositories) { function _initial (line 108) | function _initial(versions, repositories) { function switchType (line 127) | function switchType(v) { function switchExtra1 (line 132) | function switchExtra1(v) { FILE: spug_web/src/pages/deploy/request/Ext2Console.js function Ext2Console (line 15) | function Ext2Console(props) { FILE: spug_web/src/pages/deploy/request/Ext2Form.js function handleSubmit (line 31) | function handleSubmit() { function handleUploadChange (line 51) | function handleUploadChange(v) { function handleUpload (line 57) | function handleUpload(file, fileList) { FILE: spug_web/src/pages/deploy/request/HostSelector.js function handleClickRow (line 19) | function handleClickRow(record) { function handleSubmit (line 29) | function handleSubmit() { FILE: spug_web/src/pages/deploy/request/OutView.js function OutView (line 10) | function OutView(props) { FILE: spug_web/src/pages/deploy/request/Rollback.js function handleSubmit (line 27) | function handleSubmit() { FILE: spug_web/src/pages/deploy/request/Table.js function DeployConfirm (line 16) | function DeployConfirm() { function ComTable (line 26) | function ComTable() { FILE: spug_web/src/pages/deploy/request/index.js function Index (line 26) | function Index() { FILE: spug_web/src/pages/deploy/request/store.js class Store (line 11) | class Store { method dataSource (line 30) | @computed get dataSource() { FILE: spug_web/src/pages/exec/task/Output.js function OutView (line 25) | function OutView(props) { FILE: spug_web/src/pages/exec/task/Parameter.js function Render (line 10) | function Render(props) { function Parameter (line 32) | function Parameter(props) { FILE: spug_web/src/pages/exec/task/TemplateSelector.js class TemplateSelector (line 13) | @observer method constructor (line 15) | constructor(props) { method componentDidMount (line 23) | componentDidMount() { method render (line 63) | render() { FILE: spug_web/src/pages/exec/task/index.js function TaskIndex (line 21) | function TaskIndex() { FILE: spug_web/src/pages/exec/task/store.js class Store (line 9) | class Store { method items (line 17) | @computed get items() { method counter (line 30) | @computed get counter() { FILE: spug_web/src/pages/exec/template/Form.js function handleSubmit (line 28) | function handleSubmit() { function handleAddZone (line 43) | function handleAddZone() { function updateParameter (line 64) | function updateParameter(data) { function delParameter (line 76) | function delParameter(index) { FILE: spug_web/src/pages/exec/template/Parameter.js function Parameter (line 11) | function Parameter(props) { FILE: spug_web/src/pages/exec/template/Table.js class ComTable (line 14) | @observer method componentDidMount (line 16) | componentDidMount() { method render (line 34) | render() { FILE: spug_web/src/pages/exec/template/store.js class Store (line 9) | class Store { method dataSource (line 24) | get dataSource() { FILE: spug_web/src/pages/exec/transfer/Output.js function OutView (line 25) | function OutView(props) { FILE: spug_web/src/pages/exec/transfer/index.js function TransferIndex (line 24) | function TransferIndex() { FILE: spug_web/src/pages/exec/transfer/store.js class Store (line 8) | class Store { method items (line 12) | @computed get items() { method counter (line 25) | @computed get counter() { FILE: spug_web/src/pages/home/Nav.js function NavIndex (line 14) | function NavIndex(props) { FILE: spug_web/src/pages/home/NavForm.js function NavForm (line 13) | function NavForm(props) { FILE: spug_web/src/pages/home/Notice.js function NoticeIndex (line 13) | function NoticeIndex(props) { FILE: spug_web/src/pages/home/Todo.js function TodoIndex (line 9) | function TodoIndex(props) { FILE: spug_web/src/pages/home/index.js function HomeIndex (line 13) | function HomeIndex() { FILE: spug_web/src/pages/host/BatchSync.js function handleSubmit (line 20) | function handleSubmit() { function handleClose (line 30) | function handleClose() { FILE: spug_web/src/pages/host/CloudImport.js function handleSubmit (line 25) | function handleSubmit() { function fetchRegions (line 45) | function fetchRegions() { FILE: spug_web/src/pages/host/Detail.js function handleSubmit (line 45) | function handleSubmit() { function handleFetch (line 59) | function handleFetch() { function handleChange (line 70) | function handleChange(e, key) { function handleClose (line 78) | function handleClose() { function handleTagConfirm (line 83) | function handleTagConfirm(key) { function handleTagRemove (line 100) | function handleTagRemove(key, index) { FILE: spug_web/src/pages/host/Form.js function handleSubmit (line 26) | function handleSubmit() { function handleConfirm (line 56) | function handleConfirm(formData) { function handleUploadChange (line 77) | function handleUploadChange(v) { function handleUpload (line 83) | function handleUpload(file, fileList) { FILE: spug_web/src/pages/host/Group.js function handleSubmit (line 66) | function handleSubmit() { function handleRemoveHosts (line 79) | function handleRemoveHosts() { function handleRemove (line 89) | function handleRemove() { function handleAddRoot (line 99) | function handleAddRoot() { function handleAdd (line 108) | function handleAdd() { function _find_node (line 119) | function _find_node(list, key) { function handleDrag (line 128) | function handleDrag(v) { function handleRightClick (line 136) | function handleRightClick(v) { function handleExpand (line 143) | function handleExpand(keys, {_, node}) { function treeRender (line 149) | function treeRender(nodeData) { FILE: spug_web/src/pages/host/IPAddress.js function IPAddress (line 8) | function IPAddress(props) { FILE: spug_web/src/pages/host/Import.js function handleSubmit (line 22) | function handleSubmit() { function handleUpload (line 37) | function handleUpload(v) { function handleClose (line 45) | function handleClose() { FILE: spug_web/src/pages/host/Selector.js function HostSelector (line 15) | function HostSelector(props) { FILE: spug_web/src/pages/host/Table.js function ComTable (line 17) | function ComTable() { FILE: spug_web/src/pages/host/index.js function openTerminal (line 26) | function openTerminal() { FILE: spug_web/src/pages/host/store.js class Store (line 10) | class Store { method records (line 30) | @computed get records() { method dataSource (line 42) | @computed get dataSource() { method counter (line 52) | @computed get counter() { method treeData (line 69) | @computed get treeData() { FILE: spug_web/src/pages/host/store2.js class Store (line 9) | class Store { method records (line 17) | @computed get records() { method dataSource (line 29) | @computed get dataSource() { method counter (line 38) | @computed get counter() { method treeData (line 57) | @computed get treeData() { FILE: spug_web/src/pages/login/index.js function handleSubmit (line 44) | function handleSubmit() { function doLogin (line 73) | function doLogin(data) { function handleCaptcha (line 88) | function handleCaptcha() { FILE: spug_web/src/pages/monitor/MonitorCard.js function CardItem (line 29) | function CardItem(props) { function MonitorCard (line 49) | function MonitorCard() { FILE: spug_web/src/pages/monitor/Step1.js function handleTest (line 26) | function handleTest() { function handleChangeType (line 40) | function handleChangeType(v) { function handleAddGroup (line 46) | function handleAddGroup() { function canNext (line 66) | function canNext() { function toNext (line 76) | function toNext() { function getStyle (line 85) | function getStyle(t) { FILE: spug_web/src/pages/monitor/Step2.js function handleSubmit (line 37) | function handleSubmit() { function canNext (line 52) | function canNext() { FILE: spug_web/src/pages/monitor/Table.js class ComTable (line 14) | @observer method componentDidMount (line 16) | componentDidMount() { method render (line 48) | render() { FILE: spug_web/src/pages/monitor/store.js class Store (line 11) | class Store { method dataSource (line 28) | @computed get dataSource() { method ovDataSource (line 37) | @computed get ovDataSource() { FILE: spug_web/src/pages/schedule/Info.js class ComForm (line 13) | class ComForm extends React.Component { method constructor (line 14) | constructor(props) { method componentDidMount (line 22) | componentDidMount() { method render (line 28) | render() { FILE: spug_web/src/pages/schedule/Record.js class Record (line 13) | @observer method constructor (line 15) | constructor(props) { method componentDidMount (line 23) | componentDidMount() { method render (line 42) | render() { FILE: spug_web/src/pages/schedule/Step1.js function handleAddZone (line 24) | function handleAddZone() { function canNext (line 45) | function canNext() { function handleNext (line 50) | function handleNext() { function handleSelect (line 57) | function handleSelect(tpl) { FILE: spug_web/src/pages/schedule/Step2.js function handleChange (line 16) | function handleChange(ids) { FILE: spug_web/src/pages/schedule/Step3.js function handleSubmit (line 18) | function handleSubmit() { function handleArgs (line 35) | function handleArgs(key, val) { function handleCronArgs (line 39) | function handleCronArgs(key, val) { function _parse_args (line 46) | function _parse_args() { function _fetchNextRunTime (line 62) | function _fetchNextRunTime() { FILE: spug_web/src/pages/schedule/Table.js class ComTable (line 14) | @observer method componentDidMount (line 16) | componentDidMount() { method render (line 124) | render() { FILE: spug_web/src/pages/schedule/store.js class Store (line 10) | class Store { method dataSource (line 26) | @computed get dataSource() { FILE: spug_web/src/pages/ssh/FileManager.js class FileManager (line 24) | class FileManager extends React.Component { method constructor (line 25) | constructor(props) { method componentDidMount (line 41) | componentDidMount() { method componentDidUpdate (line 45) | componentDidUpdate(prevProps) { method render (line 216) | render() { FILE: spug_web/src/pages/ssh/Setting.js function Setting (line 12) | function Setting(props) { FILE: spug_web/src/pages/ssh/Terminal.js function WebSSH (line 14) | function WebSSH(props) { FILE: spug_web/src/pages/ssh/index.js function WebSSH (line 35) | function WebSSH(props) { FILE: spug_web/src/pages/system/account/Form.js function handleSubmit (line 25) | function handleSubmit() { FILE: spug_web/src/pages/system/account/Table.js class ComTable (line 15) | @observer method constructor (line 17) | constructor(props) { method componentDidMount (line 24) | componentDidMount() { method render (line 105) | render() { FILE: spug_web/src/pages/system/account/store.js class Store (line 9) | class Store { method dataSource (line 18) | @computed get dataSource() { FILE: spug_web/src/pages/system/login/Table.js class ComTable (line 12) | @observer method constructor (line 14) | constructor(props) { method componentDidMount (line 21) | componentDidMount() { method render (line 57) | render() { FILE: spug_web/src/pages/system/login/store.js class Store (line 9) | class Store { method dataSource (line 17) | @computed get dataSource() { FILE: spug_web/src/pages/system/role/DeployPerm.js class DeployPerm (line 15) | @observer method constructor (line 17) | constructor(props) { method componentDidMount (line 26) | componentDidMount() { method render (line 71) | render() { FILE: spug_web/src/pages/system/role/Form.js function handleSubmit (line 16) | function handleSubmit() { FILE: spug_web/src/pages/system/role/HostPerm.js function handleSubmit (line 23) | function handleSubmit() { function handleChange (line 33) | function handleChange(index, value) { FILE: spug_web/src/pages/system/role/PagePerm.js class PagePerm (line 15) | @observer method constructor (line 17) | constructor(props) { method render (line 62) | render() { FILE: spug_web/src/pages/system/role/Table.js class ComTable (line 17) | @observer method componentDidMount (line 19) | componentDidMount() { method render (line 68) | render() { FILE: spug_web/src/pages/system/role/store.js class Store (line 11) | class Store { method dataSource (line 26) | @computed get dataSource() { method constructor (line 32) | constructor() { method idMap (line 36) | @computed get idMap() { FILE: spug_web/src/pages/system/setting/About.js class About (line 14) | @observer method constructor (line 16) | constructor(props) { method componentDidMount (line 24) | componentDidMount() { method render (line 55) | render() { FILE: spug_web/src/pages/system/setting/AlarmSetting.js function handleEmailTest (line 18) | function handleEmailTest() { function _doSubmit (line 27) | function _doSubmit(formData) { function handleSubmit (line 37) | function handleSubmit() { FILE: spug_web/src/pages/system/setting/KeySetting.js function handleSubmit (line 14) | function handleSubmit() { function doModify (line 28) | function doModify() { FILE: spug_web/src/pages/system/setting/LDAPSetting.js function handleSubmit (line 17) | function handleSubmit() { function ldapTest (line 28) | function ldapTest() { FILE: spug_web/src/pages/system/setting/OpenService.js function handleSubmit (line 14) | function handleSubmit() { FILE: spug_web/src/pages/system/setting/PushSetting.js function fetchBalance (line 27) | function fetchBalance() { function handleBind (line 37) | function handleBind() { function handleUnbind (line 49) | function handleUnbind() { FILE: spug_web/src/pages/system/setting/SecuritySetting.js function handleChangeVerifyIP (line 28) | function handleChangeVerifyIP(v) { function handleChangeBindIP (line 37) | function handleChangeBindIP(v) { function handleChangeMFA (line 46) | function handleChangeMFA(v) { function handleCaptcha (line 51) | function handleCaptcha() { function handleMFAModify (line 58) | function handleMFAModify(v) { FILE: spug_web/src/pages/system/setting/index.js class Index (line 20) | class Index extends React.Component { method constructor (line 21) | constructor(props) { method componentDidMount (line 28) | componentDidMount() { method render (line 32) | render() { FILE: spug_web/src/pages/system/setting/store.js class Store (line 9) | class Store { FILE: spug_web/src/pages/welcome/info/Basic.js function handleSubmit (line 29) | function handleSubmit() { FILE: spug_web/src/pages/welcome/info/Reset.js function Reset (line 13) | function Reset(props) { FILE: spug_web/src/pages/welcome/info/index.js function Index (line 13) | function Index() { FILE: spug_web/src/pages/welcome/info/store.js class Store (line 9) | class Store { FILE: spug_web/src/serviceWorker.js function register (line 28) | function register(config) { function registerValidSW (line 62) | function registerValidSW(swUrl, config) { function checkValidServiceWorker (line 106) | function checkValidServiceWorker(swUrl, config) { function unregister (line 134) | function unregister() {