انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: جايزه: تكميل تابع verify در زبان پايثون  (دفعات بازدید: 2802 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین د. محمد عطار

  • Jr. Member
  • *
  • ارسال: 97
با عرض سلام ..
قبلاً قول داده بودم كه مبلغ 20.000 تومان جهت حمايت از نرم افزار هاي ازاد جدا كنم، (البته پيش از ان مي خواستم يكي از نرم افزارهاي دانلود ويرايش بشه، كه به علت وجود يك نرم افزار قدرتمند يا همان aria2c، بي نياز شدم)

فعلاً، متوجه ناقص بودن تابع verify  دؤ زبان پايثون شدم، كه تا مبلغ 10.000 براي هر كسي كه ان را كامل مي كنند، اهدا خواهد شد ... به فكر بقيه اش هم خواهم بود ...
جهت شركت، مي توانيد به: http://www.parscoders.com/project3201.html مراجعه داشته باشيد ...
نقل‌قول
نرم افزار درخواستي عبارت است از:
ويرايش بخشي از زبان پايثون که مسوول شناسايي سلامتي تصاوير است ...
اين بخش تابع verify در
python2.6/site-packages/PIL/Image.py
مي باشد

منظور از سلامت تصاوير به عنوان مثال:
تصوير اصل:
http://www.fabiovisentin.com/photography/photo/15/flower-power-wallpaper.jpg
ونمونه پيوست شده، خراب شده تصوير (به علت قطع شدن اينرنت)
http://www.parscoders.com/file.php?ProjectId=3201

موفق باشيد

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
#!/usr/bin/python
#!/usr/bin/python
import Image

def image_verify(im):
  if isinstance(im, basestring):
    im = Image.open(im)
  elif isinstance(im, Image.Image):
    pass
  else:
    raise TypeError('Bad type for argument: %s'%type(im))
  (width, height) = im.size
  try:
    im.getpixel((width-1, height-1))
  except IOError:## image file is truncated
    return False
  else:
    return True

if __name__=='__main__':
  import sys, os
  if len(sys.argv)>1:
    im_path = sys.argv[1]
    if os.path.isfile(im_path):
      if image_verify(sys.argv[1]):
        print 'Image file "%s" is verified and ok.'%im_path
      else:
        print 'Image file "%s" is truncated.'%im_path
      sys.exit(0)
    else:
      print '%s: No such file'%im_path
      sys.exit(1)
« آخرین ویرایش: 04 تیر 1389، 06:53 ب‌ظ توسط سعید رسولی (ilius) »

آفلاین د. محمد عطار

  • Jr. Member
  • *
  • ارسال: 97
سعيد رسولي عزيز ...
خيلي ممنون،
يك حل ديگر كه محدود به تصاوير jpg و از حل شما نا پخته تر ...
# -*- coding: utf-8 -*-

import binascii,sys

def main(file_x):
    try:
        openning=open(file_x,"rb")
        reading=openning.read()
        openning.close()
       
    except IOError:
        print 'can not open the image file'
        exit()


    hex_str = str(binascii.hexlify(reading))
    lenghth_x=len(hex_str)

    if hex_str[:4].upper()!='FFD8':
        print 'not jpg encoding'
        exit()
    elif hex_str[lenghth_x-4:].upper()!='FFD9' and hex_str[lenghth_x-4:].upper()!='0D0A':
        print 'Image not complete or corrupted'
        exit()

    print 'Image is OK'

if __name__ == "__main__":
   
    if len(sys.argv)!=2:
        print 'u must have 1 argument with image path only'
    else:
        file_b=sys.argv[1]
        main(file_b) 

كار عضو تالار گفتمان كاربران لينوكس عربي
0BLACK0
http://www.linuxac.org/forum/showthread.php?39657


نظر به اينكه اين مساله درون سايت خودمون حل شد، نه در parscoder ...
يك اشتراك rapidshar از  بنده به شما واون دوست عرب اهدا خواهد شد ...

مجدداَ، ممنون از شما ...

آفلاین د. محمد عطار

  • Jr. Member
  • *
  • ارسال: 97
فرستادم، رسيد؟