[Python] simplethreadview - Einfacher Threadviewer

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von Beginner35, 16. März 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 16. März 2007
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    simplethreadview - Einfacher Threadviewer

    Dieser Threadviewer wird nicht weiterentwickelt weil ich mitlerweile in den RRTools einen eingebaut hab und das hier sowieso nur ne Demonstration von Python und der RRBoardLib war.

    Da mir gestern n bisl langweilig war hab ich mal mit der RRBoardLib n Threadviewer geschrieben.
    Ich hab ihn n bischen Kommentiert um Python zu demonstrieren und zu zeigen wie einfach man damit programmieren kann, jeder der schon mal was gecodet hat sollte verstehen wie das funktioniert. Wenn nicht einfach fragen
    Ich weiß er hat bei weitem nicht so viele Funktionen wie die anderen aber er ist eher zu Demonstrationszweken und für *nixer gedacht.

    So hier die Source:
    Spoiler
    Code:
    #!/usr/bin/env python
    # -*- coding: iso-8859-15 -*-
    #simplethreadview ein einfacher Threadviewer für das RR-Board um die Verwendung und die Möglichkeiten der RRBoardLib zu demonstrieren
    #beginner at frubar DoT net
    #irc://irc.xchannel.org/kolaleech
    
    __author__ = "Beginner"
    __copyright__ = "Copyright (c) Beginner"
    __license__ = "GPLv2"
    __version__ = "0.1"
    
    #Einstellung für Username, Passwort und Thread alles optional
    username = ""
    passwort = ""
    thread = None
    
    #Einstellung wie die Ergebnisse ausgegeben werden sollen Bei 1 werden nur die UserIds ausgegeben bei 2 UserIds und Benutzernamen hintereinander bei 3 beides zusammen.
    printformat = 2
    
    #Laden der benötigten Module
    try:
     from rrboardlib import rrboard
    except:
     print "Lade das Modul RRBoardLib nach"
     from urllib import urlretrieve
     try:
     urlretrieve("http://xxxbeginner35xxx.xx.funpic.de/data/scripte/rrboardlib.py", "rrboardlib.py")
     from rrboardlib import rrboard
     except:
     print "Konnte RRBoardLib nicht laden, beende"
     exit(1)
    import sys
    
    #Testen ob Username oder Passwort nicht gesetzt ist, wenn nicht vom User abfragen
    if not username or passwort:
     if not username:
     username = raw_input("Bitte Username eingeben: ")
     if not passwort:
     passwort = raw_input("Bitte Passwort eingeben(!!aCHTUNG WIRD aNGEZEIGT!!): ")
    
    #Testen ob Thread gesetzt ist, wenn nicht den 1. Parameter des Kommandos verwenden, wenn kein Parameter gesetzt ist von User abfragen 
    if not thread:
     if sys.argv[0]:
     try:
     thread = int(sys.argv[0])
     except:
     thread = raw_input("Bitte ThreadID eingegen: ")
     else:
     thread = raw_input("Bitte ThreadID eingegen: ")
    #print "ti" + thread
    #print type(thread)
    #Initialisieren der rrboard-Klasse mit Username und Passwort damit sich die rrboardlib gleich einloggt
    rrb = rrboard()
    
    #auf dem RR-Board einloggen
    print "auf RR einloggen"
    if rrb.login(username, passwort):
     print "Erfolgreich auf RR eingeloggt"
    
    #alle User die sich bedankt haben abrufen
    print "User die sich bedankt haben abrufen"
    thanked = rrb.getthreaddata(thread)["thx"]
    if thanked:
     print "erfolgreich abgerufen"
    
    #alle User die gepostet haben abrufen
    print "User die gepostet haben abrufen"
    posted = rrb.getposters(thread)
    if posted:
     print "erfolgreich abgerufen"
    
    #Varibale für Nichtposter als Liste deklarieren
    notposted = []
    
    #Die Liste der User die sich bedankt haben durchgehen und überprüfen ob sie nicht gepostet haben, wenn ja kommen sie auf die notposted-Liste
    print "Starte Überprüfung wer sich nicht bedankt hat"
    for t in thanked:
     if not t[0] in posted:
     notposted.append(t)
    print "Überprüfung abgeschlossen \n"
    
    #Ergebnisse ausgeben
    print "Ergebnisse: \n"
    
    if printformat == 3:
     print "User die nicht gepostet haben: \n"
     for u in notposted:
     sys.stdout.write(str(u[0]) + " : " + u[1] + ", ")
     print ""
     
    else:
     print "USER-IDs der Nicht-Poster: \n"
     for u in notposted:
     sys.stdout.write(str(u[0]) + ", ")
     print "\n\n"
     
     if printformat == 2:
     print "Benutzernamen der Nicht-Poster: \n"
     for u in notposted:
     sys.stdout.write(u[1] + ", ")
     print ""
    
    #Noch n paar Statistiken ausgeben
    print str(len(thanked)) + " Benutzer haben sich bedankt"
    print str(len(posted)) + " Benutzer haben gepostet"
    print str(len(notposted)) + " Benutzer haben nicht gepostet"
    print ""
    
    #abfragen ob der User mich bewerten will wenn ja automatisch einen Post von mir bewerten
    if raw_input("Beginner für dieses Skript bewerten? (j/n) ") == "j":
     rrb.reppost(user="Beginner35")
     print "Beginner bewertet, Danke dir"
    else:
     print "fertig"
    
    sys.exit()

    Und hier zum direkt downloaden oder als .exe

    Viel Spaß damit

    Beginner
     
  2. 17. März 2007
    AW: simplethreadview - Einfacher Threadviewer

    könntest mir zuliebe und für die nicht "pytaner" noch mal ne ausfürbare windows datei anfügen?!

    wär ganz nett!

    Knusperkeks
     
  3. 17. März 2007
    AW: simplethreadview - Einfacher Threadviewer

    So ich hab ne .exe draus gemacht allerdings macht das noch Probleme wenn im Usernamen Zeichen sind die nicht in ASCII sind, wenn ich heut abend Zeit hab versuch ich das zu beheben.
     
  4. 17. März 2007
    AW: simplethreadview - Einfacher Threadviewer

    Wenne langweile hast kannste ja auch noch machen das man das pw nicht sieht ....

    Sonst eigentlich ganz top das teil

    Knusperkeks
     
  5. 4. Juli 2007
    AW: simplethreadview - Einfacher Threadviewer

    Ähm ich würde den auch gerne mal unter Windows nutzen.
    Was muss man bei ThreadID denn eingeben??(
    Url oder was und wie fidn ich die ThreadID dann raus?
     
  6. 4. Juli 2007
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: simplethreadview - Einfacher Threadviewer

    Oben steht doch: download als exe!

    und die thread id ist das:

    Code:
    board.raidrush.ws[/B]
    aber darauf achten das vor der id auch ein "t=" steht und nicht das "p=" steht!

    Knusperkeks
     
  7. 4. Juli 2007
    AW: simplethreadview - Einfacher Threadviewer

    Die exe hatte ich ja schon gefunden - wollte damit ja nur sagen, dass ich Windows nutze.

    Danke für den Hinweis!:]
    Werde ich dann nachher gleich mal probieren.
     
  8. 4. Juli 2007
    AW: simplethreadview - Einfacher Threadviewer

    Das dürfte aber nicht funktionieren! da die rrboardlib nicht auf .ws umgestellt ist!

    Knusperkeks
     
  9. 4. Juli 2007
    AW: simplethreadview - Einfacher Threadviewer

    Ahso, hmm, dann kann ich nichts anbieten.
     
  10. 4. Juli 2007
    AW: simplethreadview - Einfacher Threadviewer

    Hö was hat dein post denn für nen sinn?!

    Meinst du etwas das du ohne threadviewer nicht uppen kannst und das dann abieten oder wie?

    Knusperkeks
     
  11. 4. Juli 2007
    AW: simplethreadview - Einfacher Threadviewer

    Ich weiß das ich ohne auch uppen und anbieten könnte, nur habe ich schon erlebt dass sich einige Leute nicht an die Regeln halten (bei früheren Ups von mir) und deshalb wollte ich das mit dem Threadviewer machen.
     
  12. 4. Juli 2007
    AW: simplethreadview - Einfacher Threadviewer

    und was bringt dir der threadviewer da?

    Es gibt immer leute die sich nicht an die regeln halten, und damit musst du leben!

    Der threadviewer würde mich eher noch mehr deprimieren, da ich sehen kann wieviele sich nich an die regeln halten und ich doch nix dgegen tun kann!

    Und ausser das du nen paar namen im thread stehen hast bringt dir der echt nix

    Knusperkeks
     
  13. 4. Juli 2007
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    aW: simplethreadview - Einfacher Threadviewer

    schrecklich, wie können sich einige nur nicht an die Regeln halten? solch ein grausames verhalten,
    sollte man anzeigen die leute!
    in den Knast mit ihnen, eingesperrt und schlüssel weggeworfen -.-
    oder auf die Folterbank, so lange bis sie versprechen einen Speedreport (welche heutzutage ab Seite 2 aBSOLUT sinnlos ist... naja) machen.

    [/ironie]

    naja, gibt noch den anderen Threadviewer [Python] RRTools - Sammlung für Werkzeugen fürs Board (Threadviewer, MassPNsend, FindDeleter)

    oh man, den nicht funktionierenden Threadviewer als ausrede zu nehmen nichts hochzuladen
    omfg...


    EDIT:
    damn zu langsam...
    @ Knusperkeks WOOOORD^^
     
  14. 4. Juli 2007
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    aW: simplethreadview - Einfacher Threadviewer

    Der basiert auf der gleichen rrboard lib wie der hier daher geht der auch nicht

    mach hier mal dich da es ja erstmal nicht geht!

    @beginner mach auf wenn weider geht

    Knusperkeks
     
  15. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.