Posts Tagged ‘python’

pymagic/sharpmagic!

Posted: أبريل 15, 2009 in General
الوسوم:, , , , , , , ,

بعد انهاء فصل ال FFI من RWH وقراية libghc-magic افتكرت ان بايثون كمان ليها FFL وهى ctypes فليه لأ ؟ كتبت واحد كامل لبايثون بالإعتماد على ctypes –بالمناسبة بردو ctypes مستخدمه مع pyinotify-

على كل حال pymagic بتشمل كل الثوابت الموجودة فى magic.h وبتكشف الدوال الآتيه

magic_t magic_open(int);

void magic_close(magic_t);

const char *magic_file(magic_t, const char *);

const char *magic_descriptor(magic_t, int);

const char *magic_buffer(magic_t, const void *, size_t);

const char *magic_error(magic_t);

int magic_setflags(magic_t, int);

int magic_load(magic_t, const char *);

int magic_compile(magic_t, const char *);

int magic_check(magic_t, const char *);

int magic_errno(magic_t);

مثال مباشر على الإستخدام للحج ستورم

http://www.linuxac.org/forum/showpost.php?p=135139&postcount=11

xmonader@xmonader-desktop:~$ pymagic.py twitter.xml

twitter.xml: XML

xmonader@xmonader-desktop:~$ pymagic.py VirtualTerminal.pyc

VirtualTerminal.pyc: python 2.5 byte-compiled

xmonader@xmonader-desktop:~$ pymagic.py Allison-Iraheta-2009-03-10.mp3

Allison-Iraheta-2009-03-10.mp3: Audio file with ID3 version 2.3, MP3 encoding

يستحسن تستخدم guess

>>> F=”/home/xmonader/Allison-Iraheta-2009-03-10.mp3″

>>> guess(F)

‘Audio file with ID3 version 2.3, MP3 encoding’

https://sourceforge.net/projects/pymagic/

تحديث:

تم انهاء SharpMagic وهى اعتقد الوحيدة ل Libmagic

https://sourceforge.net/projects/sharpmagic/

A Byte of Vim

Posted: مارس 12, 2009 in General
الوسوم:, , ,

A Byte of Vim كتاب لأول مرة اخد بالى منه .. كتاب خاص ب vim للمبتدأين من Swaroop C H نفس كاتبA Byte of Python

الكتاب مكتوب بأسلوب جذاب جدا .. يستحسن تقرا ال vimtutor كأسرع بداية للتعامل مع vim

لو عايز حاجة من العيار الثقيل القى نظرة على Learning the vi and Vim Editors, 7th Edition

BTW, انهيت ال DataMapper Tutorial

PySmallXMLParser

Posted: مارس 1, 2009 in General
الوسوم:, , ,

وانا بتصفح بعض السورسات فى Mono لقيت SmallXMLParser –وهو مبنى على الأحداث مشابه ل SAX- .. على كل حال قررت اكتب واحد لبايثون (على سبيل التطبيق 😉 )

تقدر تطلع عليه من هنا وكيفية الإستخدام فى ملف test.py

الفكرة انك تشتق الصف XMLReader كما فى BooksXMLReader وتعيد تعريف ال callbacks اللى تهمك مثل onStartTag (بيتم استدعاءها عند بداية كل tag) و onCharacters بيتم استدعاءها عند المحتوى و onEndTag عند انهاء tag معين و onComment بيتم استدعاءها عند البدأ فى قراءة comment و onPI عند كل Processing Instruction

فى الدالة testReadingBooks بتنشئ كائن BooksXMLReader وتمرر file object فى ال __init__ لو مش فى ملف فى string تقدر تستدعى الدالة create_stream علي ال string

تستدعى الطريقة start ليتم بدأ المعالجة

تقدر تستفيد من ال Reader بإنك تعمل حاجات كتير زى INI parser او غيرهم!

مش اجهدت الparser مع ملفات اكبر من 2 ميجا (صح ياستورم؟ :D)

ال APIs مازلت محتاجة refractoring

اى ملاحظات او تعليقات حوله لاتتردد فى مراسلتى.

بمناسبة ال parsing تابع الموضوع Heist مفسر Scheme مكتوب بروبى

كنت مخلص ريبورتات وكانت ناقصة على التسليم فقعدت حوالى ساعة بحاول اعرف  البرنتر وفى الآخر طلعت مش متوصلة بالجهاز اساسا وربنا ستر 😀

وبس كدا اشوفكم قريبا 🙂

اصدار نهائى للكتاب بعد مراجعته .. ومتوافر بصيغة PDF

اول تجربة ليا مع التنسيق فبالراحة شوية 😀

تقدر تراجع الفهرس هنا

وللتحميل

http://programming-fr34ks.net/strikytutorials/drafts/lsPyPfBook.pdf

عدد الصفحات 283 صفحة

PyGTK Arabic Translation

Posted: فبراير 12, 2009 in General
الوسوم:, , , , ,

انتهت ترجمة دروس PyGTK من ZetCode تقدر تتصفحها من هنا

وعدتكم من فترة بكتاب يساعد على تعلم بايثون بسهولة وفى نفس الوقت بإسلوب خفيف وكل فترة بعد انهاء الفهرس الأصلى كنت بضيف اجزاء جديدة على كل حال الكتاب مقسم لكذا جزئية
االأساسيات بتتكلم عن المفاهيم البرمجية الأساسية ومقدمة عامة عن بايثون واهميتها وبعد كدا انواع البيانات الأساسية فى بايثون زى str, list, tuple, dict ويليها التعامل مع الشروط if/elif/else والتعامل مع ال loops وانشاء الدوال والإجراءات (الجزئية دى للى مش عنده خلفية نهائيا عن البرمجة)
2- جزئية البرمجة الكائنية بتعرض ايه اهمية ال OOP وكيفية التعامل معاها من خلال بايثون والوراثة (فصل الرجل والذئب والمستذئب )وكيف تنشئ وحدات/حزم خاصة بيك وكيف تتعامل مع البرامج الخارجية واستدعاءها
3- جزء دسم جدا فى معالجة البيانات بيتعرض لل IO و os, os.path ثم معالجة ملفات ال ini وملفات
ال csv وبعدها معالجة ملفات ال HTML وال XML من خلال SAX و DOM وبعدها كيفية استخدام HappyMapper للتخلص من الملل فى معالجة ال XML وبعدها جزئية عن التعامل مع SQLite وشرح لل DB API من خلال MySQL (تقدر تطبق الشرح بسهولة على postgres و oracle) ثم التعرض لمفهوم ال ORM من خلال Storm , SQLObject
4- جزئية الشبكات بتشمل انشاء خادم/عميل بسيط وخادم متعدد المهام لمعالجة اكثر من عميل وتطبيق دردشة وفى النهاية تطبيق مشاركة ملفات وتأتى لكيفية التعامل مع FTP من خلال بايثون ويليها انشاء خدمة اقتباس اليوم ثم تعرض سريع ل XML-RPC
5- التعامل مع الواجهات الرسومية: جزئية عن PyGTK وتم تدعيمها بدراسة عن تطبيق القاموس بإستخدام glade واستخدام gladizer كبديل للأدوات مثل Gladex او غيرها وكيفية استخدام Qt-Designer لإنشاء مشروع بسيط ببايثون (ليتكامل مع ترجمة PyQt4 )
6- مقدمة سريعة لأهم اطارات العمل Grok, webpy, TG, Pylons (للتحسين فى الإصدار القادم مع إضافة تطبيقات حقيقية)
7- التكامل مع لغات اخرى جزئية لابأس بها فى التكامل بين بايثون والسى (للتحسين فى الإصدار القادم)

الكتاب حوالى 230 صفحة عدل عنوان الموضوع يا kaspersky0 ومتوفر للتصفح

نسخة PDF ؟ غير متوفرة لحد مالاقى حد يساهم فى تنسيق الكتاب

Being Lazy

Posted: يناير 6, 2009 in General
الوسوم:, , , ,

حاليا بستخدم بايثون لفترة طويلة اول كود كتبته بيها كان من5 سنين وفعلا من افضل الإختيارات هى الإستمرار مع بايثون ولكن مع انى استخدمت الكثير من اللغات لكن فى حاجة ناقصة.. هى Haskell!

Haskell لغة ممتعة جدا ولكن الفرق انها functional تماما بعكس بايثون اللى بتدمج كذا اتجاه

تحذير: منحنى تعلمها زلق بعض الشئ خاصة لو مش عندك خلفية فى ال functional programming او حتى مش جيد فى الرياضيات وفى حاجات كتير هتفاجأك

ابدأ

مقابلة رائعة مع RWH

انهيت كتاب Beginning Algorithms وgosh ياريتنى كنت قريته من زمان

الكتاب اكتر من رائع بيناقش اهم هياكل البيانات والخوارزميات لمشاكل متعددة وunit testing على طول الطريق من خلال Java, JUnit

بإختصار الكتاب دا A MUST READ

بورت لمثال القاموس بروبى

http://programming-fr34ks.net/pfsoft/rgQamoosPort.tar.gz