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()
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()
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()
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'), ), ]
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
'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'