This commit is contained in:
Stephen Dranger 2011-02-24 12:07:37 -06:00
parent 3430472472
commit b3e99df069
6 changed files with 16 additions and 11 deletions

3
TODO
View file

@ -5,11 +5,8 @@ Bugs:
Features: Features:
* help menu -- about and forum * help menu -- about and forum
* copy quirks between profiles? * copy quirks between profiles?
* shared buddy lists - changes to the buddy list should refresh it?
multiple clients share buddy list???
* chumList not scaling -- QListView + delegate? * chumList not scaling -- QListView + delegate?
* help button on quirks menu? * help button on quirks menu?
-- release beta
* hide offline chums * hide offline chums
* chum list groups * chum list groups
* More complex quirks: by-sound * More complex quirks: by-sound

View file

@ -341,10 +341,10 @@ class PesterText(QtGui.QTextEdit):
timeout=15) timeout=15)
hconn.request("POST", "/index.php", params, headers) hconn.request("POST", "/index.php", params, headers)
response = hconn.getresponse() response = hconn.getresponse()
if response.status == "200": if response.status == 200:
self.sending.sendinglabel.setText("SUCC3SS!") self.sending.sendinglabel.setText("SUCC3SS!")
else: else:
self.sending.sendinglabel.setText("F41L3D") self.sending.sendinglabel.setText("F41L3D: %s %s" % (response.status, response.reason))
hconn.close() hconn.close()
except Exception, e: except Exception, e:
self.sending.sendinglabel.setText("F41L3D: %s" % (e)) self.sending.sendinglabel.setText("F41L3D: %s" % (e))

File diff suppressed because one or more lines are too long

View file

@ -12,7 +12,7 @@ _ctag_rgb = re.compile(r'\d+,\d+,\d+')
_urlre = re.compile(r"(?i)http://[^\s]+") _urlre = re.compile(r"(?i)http://[^\s]+")
_memore = re.compile(r"(\s|^)(#[A-Za-z0-9_]+)") _memore = re.compile(r"(\s|^)(#[A-Za-z0-9_]+)")
_imgre = re.compile(r"""(?i)<img src=['"](\S+)['"]\s*/>""") _imgre = re.compile(r"""(?i)<img src=['"](\S+)['"]\s*/>""")
_mecmdre = re.compile(r"^/me(\S*)") _mecmdre = re.compile(r"^(/me|PESTERCHUM:ME)(\S*)")
def lexer(string, objlist): def lexer(string, objlist):
"""objlist is a list: [(objecttype, re),...] list is in order of preference""" """objlist is a list: [(objecttype, re),...] list is in order of preference"""
@ -118,7 +118,7 @@ class smiley(object):
else: else:
return self.string return self.string
class mecmd(object): class mecmd(object):
def __init__(self, string, suffix): def __init__(self, string, mecmd, suffix):
self.string = string self.string = string
self.suffix = suffix self.suffix = suffix
def convert(self, format): def convert(self, format):

View file

@ -1 +1 @@
{"tabs": true, "soundon": true, "server": "irc.tymoon.eu", "chums": ["unknownTraveler", "tentacleTherapist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist", "lyricalKeraunoscopic", "counterRealist", "ectoBiologist", "percipientPedestrian", "asceticClinician", "doctectiveMiracles", "noSense", "obliviousCrafter", "ircMonster", "twinArmageddons", "cannabisHero", "jetRocket"], "defaultprofile": "ghostDunk", "block": []} {"tabs": true, "soundon": true, "server": "irc.tymoon.eu", "chums": ["unknownTraveler", "tentacleTherapist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist", "lyricalKeraunoscopic", "counterRealist", "ectoBiologist", "percipientPedestrian", "asceticClinician", "doctectiveMiracles", "noSense", "obliviousCrafter", "ircMonster", "twinArmageddons", "cannabisHero", "jetRocket", "adiosToreador", "turntechGodhead"], "defaultprofile": "ghostDunk", "block": []}

View file

@ -199,6 +199,8 @@ class userConfig(object):
self.userprofile = None self.userprofile = None
def chums(self): def chums(self):
return self.config['chums'] return self.config['chums']
def hideOfflineChums(self):
return self.config.get('hideOfflineChums', False)
def defaultprofile(self): def defaultprofile(self):
try: try:
return self.config['defaultprofile'] return self.config['defaultprofile']
@ -208,7 +210,10 @@ class userConfig(object):
return self.config["tabs"] return self.config["tabs"]
def addChum(self, chum): def addChum(self, chum):
if chum.handle not in self.config['chums']: if chum.handle not in self.config['chums']:
newchums = self.config['chums'] + [chum.handle] fp = open("pesterchum.js") # what if we have two clients open??
newconfig = json.load(fp)
fp.close()
newchums = newconfig['chums'] + [chum.handle]
self.set("chums", newchums) self.set("chums", newchums)
def removeChum(self, chum): def removeChum(self, chum):
if type(chum) is PesterProfile: if type(chum) is PesterProfile:
@ -770,6 +775,9 @@ class PesterWindow(MovingWindow):
self.namesdb = {} self.namesdb = {}
self.chumdb = PesterProfileDB() self.chumdb = PesterProfileDB()
if self.config.hideOfflineChums():
chums = []
else:
chums = [PesterProfile(c, chumdb=self.chumdb) for c in set(self.config.chums())] chums = [PesterProfile(c, chumdb=self.chumdb) for c in set(self.config.chums())]
self.chumList = chumArea(chums, self) self.chumList = chumArea(chums, self)
self.connect(self.chumList, self.connect(self.chumList,