def delete(self, *args, **kwargs): logger = get_logger('photo_delete', level=logging.DEBUG) # Don't delete default photos if self.is_default(): return for spec_file in self._ik.spec_files: spec_file.clear() # remove image file if Photo.objects.filter(image=self.image.name).count()<=1: try: os.remove(self.image.path) except OSError as err: print err super(Photo, self).delete(*args, **kwargs)
def activate_user(request, activation_code): try: registration = Registration.objects.get_registration_obj_from_activation_code(activation_code) registration.gen_activation_code() new_user = registration.user new_user.is_active = True new_user.save() up = new_user.get_profile() registration.status = Registration.STATUS_COMPLETE registration.save() new_user.backend = 'django.contrib.auth.backends.ModelBackend' general_login(request, new_user) except Exception as e: log = get_logger('registration', level=logging.INFO) log.info("Activation failed, the error is: %s" % e) return redirect("/")
def base64_to_photo_obj(creator, base64_str): from photos.models import Photo logger = get_logger('base64_str') logger.info(base64_str) base64_str = re.sub('\s', '', base64_str) base64_pattern = re.compile('data:image/(%s);base64,(.*)$' % '|'.join(settings.PHOTOS_FORMATS)) match_groups = base64_pattern.match(base64_str) format = match_groups.group(1) photo_64 = match_groups.group(2) tmp_file_name = "/tmp/%s.%s" % (uuid.uuid4(), 'png') fh = open(tmp_file_name, "wb") fh.write(photo_64.decode('base64')) fh.close() fh = open(tmp_file_name, "rb") photo = Photo(user=creator, title='', description='') photo.image.save("%s.%s" % (uuid.uuid4(), 'png'), File(fh)) fh.close() photo.save() os.remove(tmp_file_name) return photo, format