Skip to content

Commit 628f8e9

Browse files
committed
Added support for Anniversary client
1 parent e257afc commit 628f8e9

7 files changed

Lines changed: 220 additions & 182 deletions

File tree

CB/Compat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def getch(self):
3232
def kbhit(self):
3333
if system == 'Windows':
3434
return msvcrt.kbhit()
35-
dr, dw, de = select([sys.stdin], [], [], 0)
35+
dr, _dw, _de = select([sys.stdin], [], [], 0)
3636
return dr != []
3737

3838

CB/GitHub.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ def get_latest_package(self):
8181
targetflavor = 'mainline'
8282
elif self.clientType == 'mop':
8383
targetflavor = 'mists'
84+
elif self.clientType == 'bc':
85+
targetflavor = 'bcc'
8486
else:
8587
targetflavor = self.clientType
8688
for release in self.metadata['releases']:
@@ -109,6 +111,7 @@ def get_latest_package_nometa(self):
109111
latest = None
110112
latestclassic = None
111113
latestmop = None
114+
latestbc = None
112115
for release in self.payloads[self.releaseDepth]['assets']:
113116
if release['name'] and release['name'].endswith('.zip') and '-nolib' not in release['name'] \
114117
and release['content_type'] in ['application/x-zip-compressed', 'application/zip', 'raw']:
@@ -119,14 +122,19 @@ def get_latest_package_nometa(self):
119122
latestclassic = release['url']
120123
elif not latestmop and release['name'].endswith('-mists.zip'):
121124
latestmop = release['url']
125+
elif not latestbc and release['name'].endswith('-bcc.zip'):
126+
latestbc = release['url']
122127
if (self.clientType == 'retail' and latest) \
123128
or (self.clientType == 'classic' and latest and not latestclassic) \
124-
or (self.clientType == 'mop' and latest and not latestmop):
129+
or (self.clientType == 'mop' and latest and not latestmop) \
130+
or (self.clientType == 'bc' and latest and not latestbc):
125131
self.downloadUrl = latest
126132
elif self.clientType == 'classic' and latestclassic:
127133
self.downloadUrl = latestclassic
128134
elif self.clientType == 'mop' and latestmop:
129135
self.downloadUrl = latestmop
136+
elif self.clientType == 'bc' and latestbc:
137+
self.downloadUrl = latestbc
130138
else:
131139
self.releaseDepth += 1
132140
self.parse()

CB/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import httpx
22

3-
__version__ = '4.8.3'
3+
__version__ = '4.8.4'
44
__license__ = 'GPLv3'
55
__copyright__ = '2019-2025, Paweł Jastrzębski <pawelj@iosphe.re>'
66
__docformat__ = 'restructuredtext en'

CurseBreaker.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ def start(self): # sourcery skip: low-code-quality
9090
elif flavor in {'_classic_era_', '_classic_era_ptr_'}:
9191
self.core.clientType = 'classic'
9292
set_terminal_title(f'CurseBreaker v{__version__} - Classic')
93+
elif flavor in {'_anniversary_'}:
94+
self.core.clientType = 'bc'
95+
set_terminal_title(f'CurseBreaker v{__version__} - Anniversary')
9396
else:
9497
self.handle_shutdown('[bold red]This client release is currently unsupported by CurseBreaker.[/bold red]\n')
9598
# Check if client have write access

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Read the instructions at the top of the screen.
1818
Already installed addons will not be recognized by **CurseBreaker**, and they need to be reinstalled.\
1919
This process can be partially automated by using the `import` command.
2020

21-
_Retail_, _Mists of Pandaria Classic_ and _Classic_ clients are supported. The client version is detected automatically.\
21+
_Retail_, _Mists of Pandaria Classic_, _Classic_ and _Anniversary_ clients are supported. The client version is detected automatically.\
2222
By default **CurseBreaker** will create backups of the entire `WTF` directory.
2323

2424
## TIPS & TRICKS

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "CurseBreaker"
3-
version = "4.8.3"
3+
version = "4.8.4"
44
readme = "README.md"
55
license = {file = "LICENSE.txt"}
66
requires-python = ">=3.13"

0 commit comments

Comments
 (0)