Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.224.54.118
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /srv/modoboa/env/lib/python3.5/site-packages/ckeditor_uploader/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /srv/modoboa/env/lib/python3.5/site-packages/ckeditor_uploader/utils.py
from __future__ import absolute_import

import os.path
import random
import re
import string

from django.conf import settings
from django.template.defaultfilters import slugify
from django.utils.encoding import force_text
from django.utils.module_loading import import_string

# Non-image file icons, matched from top to bottom

fileicons_path = '{0}/file-icons/'.format(getattr(settings, 'CKEDITOR_FILEICONS_PATH', '/static/ckeditor'))
# This allows adding or overriding the default icons used by Gallerific by getting an additional two-tuple list from
# the project settings.  If it does not exist, it is ignored.  If the same file extension exists twice, the settings
# file version is used instead of the default.
override_icons = getattr(settings, 'CKEDITOR_FILEICONS', [])
ckeditor_icons = [
    (r'\.pdf$', fileicons_path + 'pdf.png'),
    (r'\.doc$|\.docx$|\.odt$', fileicons_path + 'doc.png'),
    (r'\.txt$', fileicons_path + 'txt.png'),
    (r'\.ppt$', fileicons_path + 'ppt.png'),
    (r'\.xls$', fileicons_path + 'xls.png'),
    ('.*', fileicons_path + 'file.png'),  # Default
]
CKEDITOR_FILEICONS = override_icons + ckeditor_icons

IMAGE_EXTENSIONS = {'.jpg', '.jpeg', '.png', '.gif'}


# Allow for a custom storage backend defined in settings.
def get_storage_class():
    return import_string(getattr(settings, 'CKEDITOR_STORAGE_BACKEND', 'django.core.files.storage.DefaultStorage'))()


storage = get_storage_class()


def slugify_filename(filename):
    """ Slugify filename """
    name, ext = os.path.splitext(filename)
    slugified = get_slugified_name(name)
    return slugified + ext


def get_slugified_name(filename):
    slugified = slugify(filename)
    return slugified or get_random_string()


def get_random_string():
    return ''.join(random.sample(string.ascii_lowercase * 6, 6))


def get_icon_filename(file_name):
    """
    Return the path to a file icon that matches the file name.
    """
    for regex, iconpath in CKEDITOR_FILEICONS:
        if re.search(regex, file_name, re.I):
            return iconpath


def get_thumb_filename(file_name):
    """
    Generate thumb filename by adding _thumb to end of
    filename before . (if present)
    """
    return force_text('{0}_thumb{1}').format(*os.path.splitext(file_name))


def get_media_url(path):
    """
    Determine system file's media URL.
    """
    return storage.url(path)


def is_valid_image_extension(file_path):
    extension = os.path.splitext(file_path.lower())[1]
    return extension in IMAGE_EXTENSIONS

Anon7 - 2022
AnonSec Team