Esempio n. 1
0
def import_olap_task(self, course_id, filename, just_clear=False):
    course_offering = CourseOffering.objects.get(id=course_id)
    file_path = Path(settings.DATA_PROCESSING_DIR, filename)

    try:
        with transaction.atomic():
            importer = ImportLmsData(course_offering,
                                     file_path,
                                     just_clear=just_clear)
            importer.process()
    finally:
        file_path.remove()
        course_offering.is_importing = False
        course_offering.save()
Esempio n. 2
0
def preprocess_data_imports(self):
    processing_data_folder = settings.DATA_PROCESSING_DIR
    import_metadata = get_course_import_metadata()

    import_metadata_mapping = {
        course_offering['filename']: course_offering['id']
        for course_offering in import_metadata['courses'].values()
    }

    import_files = Path(import_metadata['import_location']).listdir()

    for import_file in import_files:
        try:
            course_offering = CourseOffering.objects.get(
                id=import_metadata_mapping[import_file.name])
            import_file.move(processing_data_folder)
            course_offering.is_importing = True
            course_offering.save()

            import_olap_task.delay(course_offering.id, import_file.name)
        except KeyError:
            # File is unrecognised so remove it
            import_file.remove()
Esempio n. 3
0
def clear_thumbnails_cache(queryset, field, time_create=0):

    now = datetime.now()
    for r in queryset:
        assert hasattr(r, field), _(
            'Objeto da listagem não possui o campo informado')

        if not getattr(r, field):
            continue

        path = Path(getattr(r, field).path)
        cache_files = path.parent.walk()

        for cf in cache_files:
            if cf == path:
                continue

            if time_create:
                data_arquivo = datetime.fromtimestamp(cf.mtime())

                if now - data_arquivo < timedelta(time_create):
                    continue
            cf.remove()
Esempio n. 4
0
class Migration(migrations.Migration):

    dependencies = [
        ('ouvidoria', '0006_auto_20190514_0944'),
    ]

    operations = [
        migrations.AlterField(
            model_name='mensagemsolicitacao',
            name='anexo',
            field=models.FileField(blank=True, help_text='Envie um arquivo em anexo a sua mensagem.', null=True, storage=django.core.files.storage.FileSystemStorage(base_url='DO_NOT_USE', location=Path(
                '/home/leandro/desenvolvimento/envs/cmj_media/media_protected')), upload_to=cmj.ouvidoria.models.anexo_ouvidoria_path, validators=[cmj.utils.restringe_tipos_de_arquivo_midias], verbose_name='Anexo'),
        ),
    ]
Esempio n. 5
0
from unipath.path import Path

# Django root path where manage.py resides.
BASE_DIR = Path(__file__).ancestor(4)

# The project path which has BASE_DIR, .gitignore, and etc.
PROJECT_DIR = BASE_DIR.parent
Esempio n. 6
0
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'djangor.urls'

ALLOWED_HOSTS = ['*']
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [Path(__file__).ancestor(1).child('templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION = 'djangor.wsgi.application'