Esempio n. 1
0
def get_upload_foldername(file_name, upload_to='%Y/%m'):
    # Generate date based path to put uploaded file.
    file_field = FileField(upload_to=upload_to)
    if not file_name:
        file_name = 'no_name'
    filename = file_field.generate_filename(None, file_name)
    filename = re.sub(r'[_\-]+', '_', filename)

    if six.PY2 and isinstance(filename, unicode):
        filename = filename.encode('utf-8')

    root_dir = os.path.splitext(filename)[0]
    parent_dir, _, basename = root_dir.rpartition('/')
    image_dir = ''
    i = 1
    dir_name = basename
    while not image_dir:
        try:
            sub_dirs, _ = default_storage.listdir(parent_dir)
            while dir_name in sub_dirs:
                dir_name = "%s-%d" % (basename, i)
                i += 1
        except OSError:
            os.makedirs(os.path.join(settings.MEDIA_ROOT, parent_dir))
        else:
            image_dir = os.path.join(parent_dir, dir_name)

    return image_dir
Esempio n. 2
0
 def test_FileField(self):
     lazy_func = lazy(lambda: 'filename.ext', six.text_type)
     self.assertIsInstance(FileField().get_prep_value(lazy_func()),
                           six.text_type)
     lazy_func = lazy(lambda: 0, int)
     self.assertIsInstance(FileField().get_prep_value(lazy_func()),
                           six.text_type)
Esempio n. 3
0
 def __init__(self, name, storage=None, upload_to=None):
     super(FieldFile, self).__init__(None, name)
     self.instance = None
     self.field = FileField(name='file',
                            upload_to=upload_to,
                            storage=storage)
     self.storage = self.field.storage
     self._committed = True
Esempio n. 4
0
 def get_seedling_img(self):
     if self.seedling_img and hasattr(self.seedling_img, 'url'):
         return self.seedling_img.url
     return ImageFieldFile(
         instance=None,
         field=FileField(),
         name='/media/seedling_img/seedling_default_img.png')
Esempio n. 5
0
    def test_template_tag_imagefield(self):
        image = ImageFieldFile(instance=None,
                               field=FileField(),
                               name='cat.png')
        rendered = self.TEMPLATE.render(Context({'image': image, 'spec': ''}))

        self.assertEqual(rendered, '/cat.png.EcGFxfc.png')
Esempio n. 6
0
class Download(models.Model):
    album = models.ForeignKey(Album)
    titulo = models.CharField(max_length=100, verbose_name='Título')
    data = models.DateTimeField(auto_now_add=True, editable=False)
    descricao = models.CharField(max_length=140,
                                 blank=True,
                                 null=True,
                                 verbose_name='Descrição')
    arquivo = FileField(upload_to=upload_to_download,
                        max_length=255,
                        verbose_name=u'Arquivo')

    def __unicode__(self):
        return u'%s' % (self.titulo)

    def get_extensao(self):
        return self.arquivo.path.split('.')[-1]

    def icone_existe(self):
        extensao = self.arquivo.path.split('.')[-1]
        try:
            image = Image.open(
                os.path.join(
                    STATIC_ROOT,
                    os.path.join('imprensa',
                                 os.path.join('images', '%s.png' % extensao))))
            return True
        except Exception, e:
            print e
            return False
Esempio n. 7
0
 def get_cart_img(self):
     if self.cart_species_img and hasattr(self.cart_species_img, 'url'):
         return self.cart_species_img.url
     return ImageFieldFile(
         instance=None,
         field=FileField(),
         name='/media/cart_species_img/cart_img_default.png')
Esempio n. 8
0
def register(request):
	if request.method == "POST":
		form = RegistrationForm(request.POST)
		if form.is_valid():
			new_user = form.save(commit=False)
			new_user.set_password(form.cleaned_data["password"])
			new_user.save()
			if settings.AVATAR_SITE:
				Profile.objects.create(user = new_user, avatar = ImageFieldFile(instance=None, field=FileField(), name='user_avatars/default.png'))
			else:
				Profile.objects.create(user = new_user, field=FileField(), name='user_avatars/default.png')

# from django.contrib.auth.models import User
# from django.db.models.fields.files import ImageFieldFile, FileField
# from accounts.forms import Profile

# u = User.objects.get(username = "******")
# p = Profile.objects.get(user = u)
# p.avatar = ImageFieldFile(instance=None, field=FileField(), name='user_avatars/default.png')

			return render(request, "accounts/registration_complete.html",
						  {"new_user": new_user})
	else:
		form = RegistrationForm()

	return render(request, "accounts/register.html", {"user_form": form})
Esempio n. 9
0
 def get_programme_img(self):
     if self.programme_img and hasattr(self.programme_img, 'url'):
         return self.programme_img.url
     return ImageFieldFile(
         instance=None,
         field=FileField(),
         name='/media/programme_img/programme_img_default.png')
Esempio n. 10
0
    def test_render_nonimage(self):
        """
        ``ImageWidget`` renders the file input only, if given a non-image.

        """
        widget = ImageWidget()
        html = widget.render('fieldname', FieldFile(None, FileField(), 'something.txt'))
        self.assertHTMLEqual(html, '<input type="file" name="fieldname" />')
Esempio n. 11
0
 def get_image_display(self):
     if self.type == 'video' and not hasattr(self.image, 'url'):
         if self._video_update_thumbnail():
             return self.image
         else:
             return ImageFieldFile(instance=None, field=FileField(), name='processing.jpg')
     else:
         return self.image
Esempio n. 12
0
    def get(self, request):
        gdr = GdrService()
        m = RtmeFileModel()
        m.content = FileField()

        files = RtmeFileModel.objects.all()
        serializer = RtmeFileSerializer(files, many=True)

        return Response(serializer.data, status=status.HTTP_201_CREATED)
Esempio n. 13
0
class VirtualFieldFile(FieldFile):
    def __init__(self, name, storage=None, upload_to=None):
        super(FieldFile, self).__init__(None, name)
        self.instance = None
        self.field = FileField(name='file',
                               upload_to=upload_to,
                               storage=storage)
        self.storage = self.field.storage
        self._committed = True

    def get_directory_name(self):
        return self.field.get_directory_name()

    def get_filename(self, filename):
        return self.field.get_filename(filename)

    def generate_filename(self, filename):
        return self.field.generate_filename(None, filename)

    def save(self, *args, **kwargs):
        raise NotImplementedError

    def delete(self, *args, **kwargs):
        raise NotImplementedError

    @cached_property
    def dimensions(self):
        try:
            close = self.closed
            self.open()
            return get_image_dimensions(self, close=close)
        except:
            return (0, 0)

    @cached_property
    def width(self):
        w, h = self.dimensions
        return w

    @cached_property
    def height(self):
        w, h = self.dimensions
        return h
Esempio n. 14
0
class Software(models.Model):

    title = CharField(max_length=1000, blank=True, default="")

    versionName = CharField(max_length=1000, blank=True, default="")
    versionCode = IntegerField(default=0)

    lastUpdate = DateField(default=0)

    executable = FileField(upload_to="softwares/collector")
Esempio n. 15
0
class ChartVersion(models.Model):
    chart = models.ForeignKey(Chart, related_name='versions', on_delete=models.CASCADE)
    version = models.CharField(max_length=14, blank=False, null=False)
    tgz = FileField(upload_to='charts')

    class Meta:
        ordering = ['-version']

    def __unicode__(self):
        return self.version
Esempio n. 16
0
class VirtualFieldFile(FieldFile):

    def __init__(self, name, storage=None, upload_to=None):
        super(FieldFile, self).__init__(None, name)
        self.instance = None
        self.field = FileField(name='file', upload_to=upload_to, storage=storage)
        self.storage = self.field.storage
        self._committed = True

    def get_directory_name(self):
        return self.field.get_directory_name()

    def get_filename(self, filename):
        return self.field.get_filename(filename)

    def generate_filename(self, filename):
        return self.field.generate_filename(None, filename)

    def save(self, *args, **kwargs):
        raise NotImplementedError

    def delete(self, *args, **kwargs):
        raise NotImplementedError

    @cached_property
    def dimensions(self):
        try:
            pil_image = PIL.Image.open(self.path)
        except:
            return (0, 0)
        else:
            return pil_image.size

    @cached_property
    def width(self):
        w, h = self.dimensions
        return w

    @cached_property
    def height(self):
        w, h = self.dimensions
        return h
Esempio n. 17
0
    def test_django_to_filetracker_path(self):
        storage = FiletrackerStorage(prefix='/foo', client=DummyClient())
        field = FileField(storage=storage)
        value = FieldFile(None, field, 'bar')
        self.assertEqual(django_to_filetracker_path(value), '/foo/bar')

        with self.assertRaises(ValueError):
            django_to_filetracker_path(ContentFile('whatever', name='gizmo'))

        self.assertEqual('/foo/bar', django_to_filetracker_path(
                filetracker_to_django_file('/foo/bar', storage=storage)))
Esempio n. 18
0
    def save(self, *args, **kwargs):
        if not self.profilepicture:
            im = Image.open(DEFAULT_PROFILE_IMAGE_PATH)
            full_path = PROJECT_ROOT + MEDIA_URL + 'profilepictures/' + self.user.username + '.png'
            print full_path + " :This is the fullpath\n"
            im.save(full_path, 'PNG')
            short_path = 'profilepictures/' + self.user.username + '.png'
            self.profilepicture = ImageFieldFile(instance=None,
                                                 name=short_path,
                                                 field=FileField())

        super(UserProfile, self).save(*args, **kwargs)
Esempio n. 19
0
class DownloadableProduct(models.Model):
    """
    This type of Product is a file to be downloaded
    """
    product = models.OneToOneField(Product,
                                   verbose_name=_("Product"),
                                   primary_key=True)
    file = FileField(_("File"), upload_to=_protected_dir)
    num_allowed_downloads = models.IntegerField(
        _("Num allowed downloads"),
        help_text=_(
            "Number of times link can be accessed. Enter 0 for unlimited."),
        default=0)
    expire_minutes = models.IntegerField(
        _("Expire minutes"),
        help_text=
        _("Number of minutes the link should remain active. Enter 0 for unlimited."
          ),
        default=0)
    active = models.BooleanField(
        _("Active"),
        help_text=_("Is this download currently active?"),
        default=True)
    is_shippable = False
    is_downloadable = True

    def __unicode__(self):
        return self.product.slug

    def _get_subtype(self):
        return 'DownloadableProduct'

    def create_key(self):
        salt = sha_constructor(str(random.random())).hexdigest()[:5]
        download_key = sha_constructor(
            salt + smart_str(self.product.name)).hexdigest()
        return download_key

    def order_success(self, order, order_item):
        signals.subtype_order_success.send(self,
                                           product=self,
                                           order=order,
                                           subtype="download")

    class Meta:
        verbose_name = _("Downloadable Product")
        verbose_name_plural = _("Downloadable Products")

    def save(self, *args, **kwargs):
        if hasattr(self.product, '_sub_types'):
            del self.product._sub_types
        super(DownloadableProduct, self).save(*args, **kwargs)
Esempio n. 20
0
def get_upload_foldername(file_name, upload_to='%Y/%m'):
    # Generate date based path to put uploaded file.
    file_field = FileField(upload_to=upload_to)
    if not file_name:
        file_name = 'no_name'
    filename = file_field.generate_filename(None, file_name)
    filename = re.sub(r'[_\-]+', '_', filename)

    if six.PY2 and isinstance(filename, unicode):
        filename = filename.encode('utf-8')

    root_dir = os.path.splitext(filename)[0]
    root_dir = dir_name = os.path.join(settings.MEDIA_ROOT, root_dir)
    i = 1
    while os.path.exists(dir_name):
        if six.PY2:
            dir_name = b'%s-%d' % (root_dir, i)
        else:
            dir_name = '%s-%d' % (root_dir, i)
        i += 1
    os.makedirs(dir_name)
    return dir_name
Esempio n. 21
0
class Track(models.Model):
    photo = models.ImageField(default='', null=True)
    title = CharField(max_length=100, null=False)
    file = FileField(null=False, unique=True)
    album = models.ForeignKey(Album,
                              on_delete=models.CASCADE,
                              related_name="tracks",
                              null=False,
                              blank=False)
    date = models.DateField(default=date.today)
    fans = models.ManyToManyField(User, related_name='fav_tracks', blank=True)
    kinds = models.ManyToManyField(Kind, related_name="tracks", blank=True)

    def __str__(self):
        return f"{self.id}, {self.title}"
class CourseFiles(models.Model):
    sourceSection = ForeignKey(
        "Section",
        verbose_name="所属节",
        on_delete=SET_NULL,
        related_name="sourceSection",
        blank=True,
        null=True,
    )
    courseFile = FileField(upload_to=Upload_File_Path, blank=True, null=True)

    def __str__(self) -> str:
        return self.courseFile.name

    def filename(self):
        return os.path.basename(self.courseFile.name)

    class Meta:
        ordering = ["sourceSection"]
        verbose_name = "文件名"
        verbose_name_plural = "文件名"
Esempio n. 23
0
    def render(self, name, value, attrs=None):
        output = []
        flag = False
        if value and getattr(value, "url", None):
            image_url = value.url
            image_url = '/static/' + image_url
            output.append(u' <a href="%s" target="_blank"><img style="width:280px;" src="%s"/></a> ' % \
                (image_url, image_url))
            file_field = FileField()
            file_field.name = image_url
            file_field.path = value.path
            file_field.url = '/static/' + value.name
            file_field.model = Product
            flag = True

        if flag:
            output.append(super(AdminFileWidget, self).render(name,
                                                              file_field,
                                                              attrs))
        else:
            output.append(super(AdminFileWidget, self).render(name,
                                                              value,
                                                              attrs))
        return mark_safe(u''.join(output))
Esempio n. 24
0
class TestModel(models.Model):
    File = FileField()
Esempio n. 25
0
 def test_FileField(self):
     self.assertIsInstance(FileField().get_prep_value('filename.ext'), unicode)
     self.assertIsInstance(FileField().get_prep_value(0), unicode)
Esempio n. 26
0
 def get_photo(self):
     if self.photo:
         return self.photo
     return ImageFieldFile(instance=None,
                           field=FileField(),
                           name='photo/g.jpg')
Esempio n. 27
0
class File(models.Model):
    file = FileField(upload_to=UPLOAD_DIRS)
    created_on = DateTimeField(auto_now_add=True)
    modifed_on = DateTimeField(auto_now_add=True, auto_now=True)
Esempio n. 28
0
 def test_FileField(self):
     self.assertIsInstance(FileField().get_prep_value('filename.ext'),
                           six.text_type)
     self.assertIsInstance(FileField().get_prep_value(0), six.text_type)
Esempio n. 29
0
 def get_post_thumbnail(self):
     if self.thumbnail_img and hasattr(self.thumbnail_img, 'url'):
         return self.thumbnail_img.url
     return ImageFieldFile(instance=None,
                           field=FileField(),
                           name='/media/thumbnail/blog_default.png')
Esempio n. 30
0
 def __init__(self, name, storage=None, upload_to=None):
     super(FieldFile, self).__init__(None, name)
     self.instance = None
     self.field = FileField(name='file', upload_to=upload_to, storage=storage)
     self.storage = self.field.storage
     self._committed = True
Esempio n. 31
0
    def handle(self, *args, **options):
        print("Populating database...")
        start_time = datetime.datetime.now().replace(microsecond=0)

        file = open("/home/cole/Desktop/members.csv", "r")
        file.readline()
        file.readline()

        current_line = file.readline()
        count = 1
        while current_line != '':
            processed = current_line.split(",")

            name = self.fix_name_format(processed[0])

            if name == "Cole Polyak":
                account = User.objects.get(username="******")
                brother = Members.objects.get_or_create(
                                user=account,
                                name=name,
                                legal_name=legal_name,
                                phone=processed[2].strip(),
                                address=processed[3].strip().replace("\"", ""),
                                email=processed[4].strip(),
                                rollnumber=int(processed[5].strip()),
                                member_score=0,
                                inactive_flag=not bool(processed[6].strip()),
                                abroad_flag=not bool(processed[7].strip()),
                                present=0,
                                position=self.get_position(processed[8]),
                                avatar=ImageFieldFile(instance=None, field=FileField(), name='static/images/default.jpg')
                            )[0]
                count += 1
                current_line = file.readline()
                continue

            legal_name = self.fix_name_format(processed[1])

            account = User.objects.create_user(
                username=name.lower().replace(" ", "."),
                email=processed[4].strip(),
                password='******'
            )

            brother = Members.objects.get_or_create(
                user=account,
                name=name,
                legal_name=legal_name,
                phone=processed[2].strip(),
                address=processed[3].strip().replace("\"", ""),
                email=processed[4].strip(),
                rollnumber=int(processed[5].strip()),
                member_score=0,
                inactive_flag=not bool(processed[6].strip()),
                abroad_flag=not bool(processed[7].strip()),
                present=0,
                position=self.get_position(processed[8]),
                avatar=ImageFieldFile(instance=None, field=FileField(), name='static/images/default.jpg')

            )[0]

            count += 1
            current_line = file.readline()

        end_time = datetime.datetime.now().replace(microsecond=0)
        print("Populating complete...")
        print("Wrote " + str(count) + " entries in " + str(end_time - start_time))
Esempio n. 32
0
 def __init__(self, verbose_name=None, name=None, duration_field=None, bitrate_field=None, **kwargs):
     self.duration_field, self.bitrate_field = duration_field, bitrate_field
     FileField.__init__(self, verbose_name, name, **kwargs)
Esempio n. 33
0
from django.test import TestCase
from django.contrib.auth.models import User
from django.db.models.fields.files import FileField, ImageFieldFile
from django.utils import timezone

from Post.models import Post

user = User.objects.create(username='******',
                           email="*****@*****.**",
                           password="******")
title = "Testing Title"
category = 0
post_img = ImageFieldFile(instance=None,
                          field=FileField(),
                          name="products/1397908421/1397908421.jpg")
published = True
published_date = timezone.now()
created_date = timezone.now()
description = "Just a description for testing Kali Scientist Blog Model"


class PostModelTest(TestCase):
    @classmethod
    def setUpTestData(cls):
        Post.objects.create(author=user,
                            title=title,
                            category=category,
                            post_img=post_img,
                            published=published,
                            published_date=published_date,
                            created_date=created_date,