fix webAO downloader + add default showname

This commit is contained in:
Mauricio 2020-08-06 12:53:13 -04:00
parent 3fd1201f5d
commit 54d60cf6b8
2 changed files with 42 additions and 30 deletions

View File

@ -107,18 +107,24 @@ def get_text_color(textcolor):
return QtGui.QColor(0, 0, 0) return QtGui.QColor(0, 0, 0)
def download_thread(link, savepath): def download_thread(link, savepath):
global DOWNLOAD_BLACKLIST global DOWNLOAD_BLACKLIST
if link in DOWNLOAD_BLACKLIST: if link in DOWNLOAD_BLACKLIST:
return return
print link, savepath buckets = ["http://ao-nonfree.b-cdn.net/"]
fp = urllib.urlopen(link) for bucket in buckets:
if fp.getcode() != 200: i = buckets.index(bucket)
DOWNLOAD_BLACKLIST.append(link)
print "HTTP error %d while downloading %s" % (fp.getcode(), link) print "download missing: %s" % link
else: fp = urllib.urlopen(bucket+link)
with open(savepath, "wb") as f: if fp.getcode() == 200:
f.write(fp.read()) with open(savepath, "wb") as f:
f.write(fp.read())
print "successfully downloaded:", link
return
DOWNLOAD_BLACKLIST.append(link)
print "couldn't download '%s'" % link
def mockStr(text): def mockStr(text):
upper = random.choice([True, False]) upper = random.choice([True, False])
@ -242,7 +248,7 @@ class AOCharMovie(QtGui.QLabel):
self.use_pillow = 1 self.use_pillow = 1
else: else:
if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download characters"): if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download characters"):
url = "http://s3.wasabisys.com/webao/base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".apng" url = "base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".apng"
url = url.replace(" ", "%20") url = url.replace(" ", "%20")
if not exists(AOpath+"characters/"+p_char): # gotta make sure the character folder exists, better safe than sorry if not exists(AOpath+"characters/"+p_char): # gotta make sure the character folder exists, better safe than sorry
os.mkdir(AOpath+"characters/"+p_char) os.mkdir(AOpath+"characters/"+p_char)
@ -253,7 +259,7 @@ class AOCharMovie(QtGui.QLabel):
self.use_pillow = 2 self.use_pillow = 2
else: else:
if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download characters"): if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download characters"):
url = "http://s3.wasabisys.com/webao/base/characters/"+p_char.lower()+"/"+p_emote.lower()+".webp" url = "base/characters/"+p_char.lower()+"/"+p_emote.lower()+".webp"
url = url.replace(" ", "%20") url = url.replace(" ", "%20")
if not exists(AOpath+"characters/"+p_char): # gotta make sure the character folder exists, better safe than sorry if not exists(AOpath+"characters/"+p_char): # gotta make sure the character folder exists, better safe than sorry
os.mkdir(AOpath+"characters/"+p_char) os.mkdir(AOpath+"characters/"+p_char)
@ -264,7 +270,7 @@ class AOCharMovie(QtGui.QLabel):
self.use_pillow = 0 self.use_pillow = 0
else: else:
if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download characters"): if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download characters"):
url = "http://s3.wasabisys.com/webao/base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".gif" url = "base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".gif"
url = url.replace(" ", "%20") url = url.replace(" ", "%20")
if not exists(AOpath+"characters/"+p_char): # gotta make sure the character folder exists, better safe than sorry if not exists(AOpath+"characters/"+p_char): # gotta make sure the character folder exists, better safe than sorry
os.mkdir(AOpath+"characters/"+p_char) os.mkdir(AOpath+"characters/"+p_char)
@ -275,7 +281,7 @@ class AOCharMovie(QtGui.QLabel):
self.use_pillow = 0 self.use_pillow = 0
else: else:
if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download characters"): if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download characters"):
url = "http://s3.wasabisys.com/webao/base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".png" url = "base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".png"
url = url.replace(" ", "%20") url = url.replace(" ", "%20")
if not exists(AOpath+"characters/"+p_char): # gotta make sure the character folder exists, better safe than sorry if not exists(AOpath+"characters/"+p_char): # gotta make sure the character folder exists, better safe than sorry
os.mkdir(AOpath+"characters/"+p_char) os.mkdir(AOpath+"characters/"+p_char)
@ -457,9 +463,9 @@ class AOMovie(QtGui.QLabel):
if not exists(gif_path): if not exists(gif_path):
pathlist = [ pathlist = [
get_img_suffix("base/misc/default/"+p_image+"_bubble"),
get_img_suffix("base/characters/"+p_char+"/"+p_image), get_img_suffix("base/characters/"+p_char+"/"+p_image),
get_img_suffix("base/misc/default/"+p_image), get_img_suffix("base/misc/default/"+p_image),
get_img_suffix("base/misc/default/"+p_image+"_bubble"),
get_img_suffix("base/themes/default/"+p_image), get_img_suffix("base/themes/default/"+p_image),
"base/themes/default/placeholder.gif" "base/themes/default/placeholder.gif"
] ]
@ -1122,7 +1128,7 @@ class gui(QtGui.QWidget):
else: else:
guiobj.setPixmap(QtGui.QPixmap(AOpath + 'themes/default/evidence_selected.png')) guiobj.setPixmap(QtGui.QPixmap(AOpath + 'themes/default/evidence_selected.png'))
if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download evidence"): if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download evidence"):
url = "http://s3.wasabisys.com/webao/base/evidence/"+image.lower() url = "base/evidence/"+image.lower()
url = url.replace("evidence/../", "") url = url.replace("evidence/../", "")
path = AOpath+"evidence/"+image path = AOpath+"evidence/"+image
path = path.replace("evidence/../", "") path = path.replace("evidence/../", "")
@ -2271,16 +2277,8 @@ class gui(QtGui.QWidget):
if BASS_ChannelIsActive(self.objectsnd): if BASS_ChannelIsActive(self.objectsnd):
BASS_ChannelStop(self.objectsnd) BASS_ChannelStop(self.objectsnd)
BASS_StreamFree(self.objectsnd) BASS_StreamFree(self.objectsnd)
objecting = '' objecting = ["holdit", "objection", "takethat", "custom"][objection-1]
if objection == 1:
objecting = 'holdit'
elif objection == 2:
objecting = 'objection'
elif objection == 3:
objecting = 'takethat'
elif objection == 4:
objecting = 'custom'
if objecting: if objecting:
if exists(AOpath + 'characters/' + charname + '/' + objecting + '.wav'): if exists(AOpath + 'characters/' + charname + '/' + objecting + '.wav'):
@ -2292,8 +2290,8 @@ class gui(QtGui.QWidget):
if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download sounds"): if ini.read_ini_bool(AOpath+"AO2XP.ini", "General", "download sounds"):
if not exists(AOpath+"characters/"+charname.lower()): # gotta make sure the character folder exists, better safe than sorry if not exists(AOpath+"characters/"+charname.lower()): # gotta make sure the character folder exists, better safe than sorry
os.mkdir(AOpath+"characters/"+charname.lower()) os.mkdir(AOpath+"characters/"+charname.lower())
thread.start_new_thread(download_thread, ("http://s3.wasabisys.com/webao/base/characters/"+charname.lower()+"/"+objecting.lower()+".wav", AOpath+"characters/"+charname.lower()+"/"+objecting.lower()+".wav")) thread.start_new_thread(download_thread, ("base/characters/"+charname.lower()+"/"+objecting.lower()+".wav", AOpath+"characters/"+charname.lower()+"/"+objecting.lower()+".wav"))
self.objectsnd = BASS_StreamCreateFile(False, AOpath + 'sounds/general/sfx-objection.wav', 0, 0, 0) self.objectsnd = BASS_StreamCreateFile(False, AOpath + 'sounds/general/sfx-objection.wav', 0, 0, 0)
BASS_ChannelSetAttribute(self.objectsnd, BASS_ATTRIB_VOL, self.soundslider.value() / 100.0) BASS_ChannelSetAttribute(self.objectsnd, BASS_ATTRIB_VOL, self.soundslider.value() / 100.0)
BASS_ChannelPlay(self.objectsnd, True) BASS_ChannelPlay(self.objectsnd, True)
@ -2366,6 +2364,7 @@ class gui(QtGui.QWidget):
self.charselect.show() self.charselect.show()
self.oocnameinput.setText(ini.read_ini(AOpath+"AO2XP.ini", "General", "OOC name")) self.oocnameinput.setText(ini.read_ini(AOpath+"AO2XP.ini", "General", "OOC name"))
self.shownameedit.setText(ini.read_ini(AOpath+"AO2XP.ini", "General", "Showname"))
self.pairdropdown.clear() self.pairdropdown.clear()
self.paircheckbox.setChecked(False) self.paircheckbox.setChecked(False)

View File

@ -62,6 +62,12 @@ class Settings(QtGui.QDialog):
self.defaultoocname = QtGui.QLineEdit() self.defaultoocname = QtGui.QLineEdit()
defaultoocname_layout.addWidget(defaultoocname_label) defaultoocname_layout.addWidget(defaultoocname_label)
defaultoocname_layout.addWidget(self.defaultoocname) defaultoocname_layout.addWidget(self.defaultoocname)
defaultshowname_layout = QtGui.QHBoxLayout()
defaultshowname_label = QtGui.QLabel("Default showname")
self.defaultshowname = QtGui.QLineEdit()
defaultshowname_layout.addWidget(defaultshowname_label)
defaultshowname_layout.addWidget(self.defaultshowname)
allowdownload = QtGui.QLabel() allowdownload = QtGui.QLabel()
allowdownload.setText("Automatically download or stream online from WebAO:") allowdownload.setText("Automatically download or stream online from WebAO:")
@ -92,6 +98,7 @@ class Settings(QtGui.QDialog):
general_layout.addWidget(self.savetolog_combine, 0, QtCore.Qt.AlignRight) general_layout.addWidget(self.savetolog_combine, 0, QtCore.Qt.AlignRight)
general_layout.addWidget(separators[0]) general_layout.addWidget(separators[0])
general_layout.addLayout(defaultoocname_layout) general_layout.addLayout(defaultoocname_layout)
general_layout.addLayout(defaultshowname_layout)
general_layout.addWidget(separators[1]) general_layout.addWidget(separators[1])
general_layout.addWidget(allowdownload) general_layout.addWidget(allowdownload)
general_layout.addLayout(allowdownload_layout) general_layout.addLayout(allowdownload_layout)
@ -144,6 +151,10 @@ class Settings(QtGui.QDialog):
self.defaultoocname.setText(ini.read_ini(self.inifile, "General", "OOC name").decode("utf-8")) self.defaultoocname.setText(ini.read_ini(self.inifile, "General", "OOC name").decode("utf-8"))
except: except:
self.defaultoocname.setText(ini.read_ini(self.inifile, "General", "OOC name")) self.defaultoocname.setText(ini.read_ini(self.inifile, "General", "OOC name"))
try:
self.defaultoocname.setText(ini.read_ini(self.inifile, "General", "Showname").decode("utf-8"))
except:
self.defaultoocname.setText(ini.read_ini(self.inifile, "General", "Showname"))
self.allowdownload_chars.setChecked(ini.read_ini_bool(self.inifile, "General", "download characters")) self.allowdownload_chars.setChecked(ini.read_ini_bool(self.inifile, "General", "download characters"))
self.allowdownload_sounds.setChecked(ini.read_ini_bool(self.inifile, "General", "download sounds")) self.allowdownload_sounds.setChecked(ini.read_ini_bool(self.inifile, "General", "download sounds"))
self.allowdownload_music.setChecked(ini.read_ini_bool(self.inifile, "General", "download music")) self.allowdownload_music.setChecked(ini.read_ini_bool(self.inifile, "General", "download music"))
@ -154,6 +165,7 @@ class Settings(QtGui.QDialog):
self.savetolog.setChecked(False) self.savetolog.setChecked(False)
self.savetolog_combine.setChecked(False) self.savetolog_combine.setChecked(False)
self.defaultoocname.setText("") self.defaultoocname.setText("")
self.defaultshowname.setText("")
self.allowdownload_sounds.setChecked(True) self.allowdownload_sounds.setChecked(True)
self.allowdownload_music.setChecked(True) self.allowdownload_music.setChecked(True)
self.allowdownload_evidence.setChecked(True) self.allowdownload_evidence.setChecked(True)
@ -181,6 +193,7 @@ class Settings(QtGui.QDialog):
self.inifile.set("General", "save logs", self.savetolog.isChecked()) self.inifile.set("General", "save logs", self.savetolog.isChecked())
self.inifile.set("General", "combined logs", self.savetolog_combine.isChecked()) self.inifile.set("General", "combined logs", self.savetolog_combine.isChecked())
self.inifile.set("General", "OOC name", self.defaultoocname.text().toUtf8()) self.inifile.set("General", "OOC name", self.defaultoocname.text().toUtf8())
self.inifile.set("General", "Showname", self.defaultshowname.text().toUtf8())
self.inifile.set("General", "download characters", self.allowdownload_chars.isChecked()) self.inifile.set("General", "download characters", self.allowdownload_chars.isChecked())
self.inifile.set("General", "download sounds", self.allowdownload_sounds.isChecked()) self.inifile.set("General", "download sounds", self.allowdownload_sounds.isChecked())
self.inifile.set("General", "download music", self.allowdownload_music.isChecked()) self.inifile.set("General", "download music", self.allowdownload_music.isChecked())