Konsolenanwendung zu Anwendung mit GUI umschreiben???

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Thundersystem
User
Beiträge: 10
Registriert: Montag 8. Juni 2009, 09:45
Kontaktdaten:

Mahlzeit,

so habe mich nun mit ein paar Mitgliedern von lima-city.de zusammengetan und ein einem Script gearbeitet, sieht folgendermaßen aus:

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-

#############################################################################
# Copyright (C) 2009 Andreas Wolf, Markus Koch, fatfox
#
# 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 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
##############################################################################

import urllib
import re
import sys

#Einbinden von Packages
def format(data):
	data = re.sub(r'<[^>]*?>', '', data)
	data = re.sub(r'^ *', '', data)
	data = re.sub(r'^\t*', '', data)
  	data = data.replace('ü','ü')
  	data = data.replace('Ü','Ü')
  	data = data.replace('ö','ö')
	data = data.replace('Ö','Ö')
  	data = data.replace('ä','ä')
  	data = data.replace('Ä','Ä')
  	data = data.replace('ß','ß')
  	data = data.replace('♥','♥')
  	data = data.replace('\n','')
  	return data

#Userinfos aufnehmen, URL zusammenfügen, Quellcode in den RAM packen!
print "*"*41
print "* LC-fetch - Das Profilschleicherscript *"
print "*"*41

if len(sys.argv) == 1:
  	user = raw_input("Gib hier den Username ein, den du ausspionieren möchtest: ")
elif len(sys.argv) == 2:
  	user = sys.argv[1]
else:
  	print "Usage: "+sys.argv[0]+" [benutzername]"
  	exit(255)

url = "http://www.lima-city.de/profile/"

#URL zusammenfügen  
comp_url =  url + user

#Quellcode abspeichern
text = urllib.urlopen(comp_url).readlines()

###ALLGEMEINES###
print " "
print "Allgemeines zu "+ user +":\n"

#Karma rausfinden
for zeile in text:
  	index=zeile.find('Karma:')
  	if index != -1:
    		print format(zeile)
    		break

#Gulden rausfinden
for zeile in text:
  	index=zeile.find('Gulden:')
  	if index != -1:
    		print format(zeile)
    		break

#Anmeldedatum rausfinden
for zeile in text:
  	index=zeile.find('Angemeldet seit:')
  	if index != -1:
    		print format(zeile)
    		break

###SONSTIGES###
print "\nSonstige Infos zu "+ user +":"

#Freunde rausfinden
print "\nFreunde von "+user+":"
for zeile in text:
  	index=zeile.find('                    <li><a href="/profile/')
  	if index != -1:
    		print format(zeile)
		
#Gruppen rausfinden 
print "\nGruppen, in denen "+user+" ist:"
for zeile in text:
  	index=zeile.find('\t\t\t\t\t<li><a href="/groups/')
  	if index != -1:
    		print format(zeile)
So, dafür wollte ich jetzt eigentlich ne GUI schreiben, nur hhm, habe sowas noch nie gemacht und keine Ahnung wie ich damit anfangen soll, kann mir jemand weiterhelfen? Und soll ich das überhaupt mit xmPython machen? Oder gibt es für den Anfang was leichteres?

Danke im Voraus

Greetz
Thundersystem ;) [/code]
BlackJack

Als erstes müsste man die Vermengung von Programmlogig und Ausgabe mal trennen, also eine Funktion schreiben, die alle Daten extrahiert, und vielleicht in einem Objekt zusammenfasst.

Das extrahieren der Daten sollte man auch etwas robuster machen, zum Beispiel mit `BeautifulSoup`.

*Dann* kann man über eine GUI nachdenken.
Antworten