1. Python / Говнокод #6610

    −180

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    #обработка формы
    if request.method == 'POST':
        form = MdatForm(request.POST)
        #проверка правильности заполнения полей формы
        if form.is_valid():
                cd = form.cleaned_data
                #переменные для проверки правильности ввода данных
                valid1 = cd['sername']+cd['name']+cd['ssername']
                valid2 = cd['get']+cd['born']+cd['adres']
                #проверка ФИО
                for i in valid1:
                    if (re.match(u"^[A-Za-z0-9]+$", i))or(i in errorfio):
                        return redirect_with_message(request, 'error', 'Корректно введите ФИО', reverse(changemet))
                #проверка адрес, дата роэждения, кем выдано
                for i in valid2:
                    if (re.match(u"^[A-Za-z]+$", i))or(i in errorvmb):
                        return redirect_with_message(request, 'error', 'Корректно введите "Место рождения", "Адрес", "Кем выдан"', reverse(changemet))
                #сохранить изменения
                changemetadd(cd, request.user)
                #запись действия в журнал
                userlogpath(request.user, 'Осуществлено редактирование метаданных')
                #вывод сообщения
                return redirect_with_message(request, 'success', 'Данные были сохранены в системе регистрации изображений', reverse('home.views.index'))
    
    
    #форма первичной регистрации
    class PhForms(forms.Form):
            email = forms.EmailField(label='Email*', error_messages={'required': 'Заполните поле'})
            sername = forms.CharField(max_length=50, label='Фамилия*', error_messages={'required': 'Заполните поле'})
            name = forms.CharField(max_length=50, label='Имя*', error_messages={'required': 'Заполните поле'})
            ssername = forms.CharField(max_length=40, label='Отчество', required=False)
            databorn = forms.DateField(label='Дата рождения:', widget=SelectDateWidget(years=range(year, year-101, -1)), required=False)#forms.DateField(label='Дата рождения:*',initial=datetime.date.today, input_formats=('%d-%m-%Y',),
    		#widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
            pasportserial = forms.IntegerField(max_value=9999, label='Паспорт серия', required=False)
            pasportnomer = forms.IntegerField(max_value=999999, label='Паспорт номер', required=False)
            get = forms.CharField(max_length=100, label='Кем выдан*', required=False)
            dataget = forms.DateField(label='Дата выдачи:', widget=SelectDateWidget(years=range(year, year-101, -1)), required=False)#forms.DateField(label='Дата выдачи*:', initial=datetime.date.today, input_formats=('%d-%m-%Y',),
    		#widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
            born = forms.CharField(max_length=200, label='Место рождения*', required=False)
            adres = forms.CharField(max_length=200, label='Адрес*', required=False)
    	#text = forms.CharField(label='Семейное положение', max_length=200)
    
    
    #изображения и мииатюры
    class Image(models.Model):
        user = models.ForeignKey('User')
        publication_date = models.DateTimeField(auto_now_add=True)
        nomersertifikata = models.IntegerField()
        imgname = models.CharField(max_length=200)
        tip_foto = models.ForeignKey('img_subj.ImageSubjects')
        public = models.BooleanField()
        img = models.ImageField(upload_to=get_upload_to)
        mini_img = models.ImageField(upload_to=mini_get_upload_to)
        #создание миниатюры
        def save(self):
            THUMBNAIL_SIZE = (100, 100)
            image = PIL.Image.open(self.img)
            if image.mode not in ('L', 'RGB'):
                image = image.convert('RGB')
            image.thumbnail(THUMBNAIL_SIZE, PIL.Image.ANTIALIAS)
    
            temp_handle = StringIO()
            image.save(temp_handle, 'png')
            temp_handle.seek(0)
    
            suf = SimpleUploadedFile(os.path.split(self.img.name)[-1],
            temp_handle.read(), content_type='image/png')
            self.mini_img.save(suf.name+'.png', suf, save=False)
    
            super(Image, self).save()

    Вот так кодят в универах.

    Запостил: alex-86, 10 Мая 2011

    Комментарии (17) RSS

    Добавить комментарий