diff --git a/main.py b/main.py index 929c752..4204b70 100644 --- a/main.py +++ b/main.py @@ -30,6 +30,26 @@ def main() -> None: parser.patch_app(app=app, version=version, is_experimental=is_experimental) except Exception as e: logger.exception(f"Failed to build {app} because of {e}") + if config.build_og_nd_branding_youtube: + logger.info("Rebuilding youtube") + all_patches = parser.get_all_patches() + branding_patch = "custom-branding" + if config.build_extended: + branding_patch = "custom-branding-blue" + branding_index = all_patches.index(branding_patch) + was_og_build = True if all_patches[branding_index - 1] == "-e" else False + output = "-custom-icon-" if was_og_build else "" + app = "youtube" + _, version, is_experimental = patcher.get_app_configs(app) + logger.info(parser.get_all_patches()) + parser.invert_patch(branding_patch) + logger.info(parser.get_all_patches()) + parser.patch_app( + app=app, + version=version, + is_experimental=is_experimental, + output_prefix=output, + ) if __name__ == "__main__": diff --git a/src/config.py b/src/config.py index cb18fec..f139547 100644 --- a/src/config.py +++ b/src/config.py @@ -56,3 +56,4 @@ class RevancedConfig: "youtube": f"{self.apk_mirror_urls.get('youtube')}youtube", "youtube_music": f"{self.apk_mirror_urls.get('youtube_music')}youtube-music", } + self.build_og_nd_branding_youtube = env.bool("BUILD_OG_BRANDING_YOUTUBE", False) diff --git a/src/parser.py b/src/parser.py index d9a483c..c3ed9b2 100644 --- a/src/parser.py +++ b/src/parser.py @@ -41,12 +41,38 @@ class Parser(object): """ return self._EXCLUDED - def patch_app(self, app: str, version: str, is_experimental: bool = False) -> None: + def get_all_patches(self) -> List[str]: + """ + Getter to get all excluded patches + :return: List of excluded patches + """ + return self._PATCHES + + def invert_patch(self, name: str) -> None: + """ + Getter to get all excluded patches + :return: List of excluded patches + """ + patch_index = self._PATCHES.index(name) + if self._PATCHES[patch_index - 1] == "-e": + self._PATCHES[patch_index - 1] = "-i" + else: + self._PATCHES[patch_index - 1] = "-e" + + # noinspection IncorrectFormatting + def patch_app( + self, + app: str, + version: str, + is_experimental: bool = False, + output_prefix: str = "-", + ) -> None: """Revanced APP Patcher. :param app: Name of the app :param version: Version of the application :param is_experimental: Whether to enable experimental support + :param output_prefix: Prefix to add to the output apks file name """ logger.debug(f"Sending request to revanced cli for building {app} revanced") cli = self.config.normal_cli_jar @@ -66,7 +92,7 @@ class Parser(object): "-m", integrations, "-o", - f"Re-{app}-{version}-output.apk", + f"Re-{app}-{version}{output_prefix}output.apk", "--keystore", self.config.keystore_name, ]