قضيت هذا الصباح محاولا تطوير برنامج للتواصل عبر خدمة التويتر (Twitter) و الآن أشارككم ما أنجزته. حاليا كل ما يقوم به البرنامج هو تسجيل الذخول و إسترجاع أسماء أصدقائك الذين تتابعهم و إرسال الرسائل إلى الخدمة.
البرنامج مازال في البداية لذلك سيحمل رقم الإصدار 0.01 :)
يمكن تحميل الشفرة المصدرية و الواجهة الرسومية من هنا.
البرنامج مازال في البداية لذلك سيحمل رقم الإصدار 0.01 :)
يمكن تحميل الشفرة المصدرية و الواجهة الرسومية من هنا.
#!/usr/bin/env python # -*- coding: utf-8 -*- ## جزء خاص بتحديد الرخصة و حق الملكية ## Copyright (c) 2009 Mohammed Berdai stuntgp2000@gmail.com ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## Version : 0.01 ## إستدعاء الوحدات اللازمة import sys, twitter, simplejson from PyQt4 import QtGui, QtCore, uic from urllib2 import HTTPError, URLError ## إنشاء البرنامج على شكل قسم يشتق من الكائن (كيو ويدجت)ـ class TwiqGui(QtGui.QWidget): ## تهيئة المتغيرات usr = '' passwd = '' twiqy = None ## دالة بدء التشغيل def __init__(self, parent=None): ## تهيئة الكائن الأساسي و الواجهة الرسومية QtGui.QWidget.__init__(self, parent) uic.loadUi("twiqui.ui", self) ## تعطيل زر و نص إلرسالة حتى يتم الإتصال بخدمة التويتر self.lnTwitThis.setEnabled(False) self.pbTwit.setEnabled(False) ## ربط الكائنات الرسومية بالدوال التي ستثمثل وظيفتها self.connect(self.pbSignIn, QtCore.SIGNAL("clicked()"), self.SignIn) self.connect(self.lnTwitThis, QtCore.SIGNAL("textChanged(QString)"), self.UpdateLblRemaingChars) self.connect(self.pbTwit, QtCore.SIGNAL("clicked()"), self.TwitThis) def SignIn(self): ## في حالة عدم كتابة إسم المستخدم و كلمة السر يتم الإستعانة بإسم بحسابي على خدمة التويتر if self.lnLogin.text() == '' and self.lnPassword.text() == '': self.lnLogin.setText('SpinDev2K') self.lnPassword.setText('xxxxxx') self.usr = str(self.lnLogin.text()) self.passwd = str(self.lnPassword.text()) ## تسجيل الدخول في خدمة التويتر self.twiqy = TwiqCore(username = self.usr, password = self.passwd) ## ملء القائمة بأسماء أصدقائك الذي تتابعهم على خدمة التويتر for item in self.twiqy.FriendsScreenName(): self.qlstFriends.addItem(item) ## تفعيل زر و نص إلرسالة و تعطيل كل من إطاري إسم المستخدم و كلمة السر و زر تسجيل الدخول self.lnLogin.setEnabled(False) self.lnPassword.setEnabled(False) self.pbSignIn.setEnabled(False) self.lnTwitThis.setEnabled(True) self.pbTwit.setEnabled(True) ## كلما كتب حرف في نص الرسالة يتم تحديث إطار عدد الحروف المتبقية def UpdateLblRemaingChars(self): i = 140 - self.lnTwitThis.text().length() self.qlblRemainingChar.setText(str(i)) ## إرسال نص الرسالة إلى خدمة التويتر ثم إضافته إلى لائحة التوترة def TwitThis(self): if self.lnTwitThis.text() <> '': print self.usr, self.passwd status = self.twiqy.PostUpdate(self.lnTwitThis.text()) row = 0 #self.qtblTwits.rowCount() self.qtblTwits.insertRow(row) item = QtGui.QTableWidgetItem(status.text) self.qtblTwits.setItem(row, 0, item) self.lnTwitThis.setText('') ## قسم خاص بخدمة التويتر class TwiqCore(twitter.Api): ## دالة للتوصل بآخر الأحول العامة على خدمة التويتر def PublicStatus(self): statuses = self.GetPublicTimeline() ## دالة للتوصل بأسماء أصدقائك الذين تتابعهم def FriendsName(self): users = self.GetFriends() return [u.name for u in users] ## دالة للتوصل بالأسماء المستعارة لأصدقائك الذين تتابعهم def FriendsScreenName(self): users = self.GetFriends() return [u.screen_name for u in users] ## هنا مذخل بداية البرنامج حيث يتم توظيف القسم و عرض الواجهة الرسومية if __name__ == "__main__": TwiqApp = QtGui.QApplication(sys.argv) mw = TwiqGui() mw.show() sys.exit(TwiqApp.exec_())
واو , ما شاء الله عليك :)
ردحذفجارى التجربه ,,
مثل هذي التطبيقات تستخدم غالبا في الخداع بإرسال الايميل والباسورد
ردحذف