From 811bef41b8f633e7cec308e845471eb92fa0995a Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 7 Dec 2018 20:14:29 +0400 Subject: [PATCH] Add caption limit check to updates posting. --- Telegram/build/updates.py | 152 ++++++++++++++++++++------------------ 1 file changed, 79 insertions(+), 73 deletions(-) diff --git a/Telegram/build/updates.py b/Telegram/build/updates.py index fff9275bce..876ae67c81 100644 --- a/Telegram/build/updates.py +++ b/Telegram/build/updates.py @@ -1,7 +1,5 @@ import os, sys, re, subprocess, datetime -print('Building debug version for OS X 10.8+..') - executePath = os.getcwd() scriptPath = os.path.dirname(os.path.realpath(__file__)) @@ -9,7 +7,7 @@ lastCommit = '' today = '' nextLast = False nextDate = False -sending = False +building = True for arg in sys.argv: if nextLast: lastCommit = arg @@ -18,7 +16,7 @@ for arg in sys.argv: today = arg nextDate = False elif arg == 'send': - sending = True + building = False elif arg == 'from': nextLast = True elif arg == 'date': @@ -35,15 +33,81 @@ if today == '': today = datetime.datetime.now().strftime("%d_%m_%y") outputFolder = 'updates/' + today -if os.path.exists('../out/Debug/' + outputFolder): - if sending: - #subprocess.call(['/Applications/Telegram.app/Contents/MacOS/Telegram', '-sendpath', 'interpret://' + scriptPath + '../../out/Debug/' + outputFolder + '/command.txt'], shell=True) - subprocess.call(scriptPath + '/../../out/Debug/Telegram.app/Contents/MacOS/Telegram -sendpath interpret://' + scriptPath + '/../../out/Debug/' + outputFolder + '/command.txt', shell=True) - finish(0) - else: +archive = 'tdesktop_macOS_' + today + '.zip' + +if building: + print('Building debug version for OS X 10.8+..') + + if os.path.exists('../out/Debug/' + outputFolder): print('[ERROR] Todays updates version exists.') finish(1) + result = subprocess.call('gyp/refresh.sh', shell=True) + if result != 0: + print('[ERROR] While calling GYP.') + finish(1) + + result = subprocess.call('xcodebuild -project Telegram.xcodeproj -alltargets -configuration Debug build', shell=True) + if result != 0: + print('[ERROR] While building Telegram.') + finish(1) + + os.chdir('../out/Debug') + if not os.path.exists('Telegram.app'): + print('[ERROR] Telegram.app not found.') + finish(1) + + result = subprocess.call('strip Telegram.app/Contents/MacOS/Telegram', shell=True) + if result != 0: + print('[ERROR] While stripping Telegram.') + finish(1) + + result = subprocess.call('codesign --force --deep --sign "Developer ID Application: John Preston" Telegram.app', shell=True) + if result != 0: + print('[ERROR] While signing Telegram.') + finish(1) + + if not os.path.exists('Telegram.app/Contents/Frameworks/Updater'): + print('[ERROR] Updater not found.') + finish(1) + elif not os.path.exists('Telegram.app/Contents/Helpers/crashpad_handler'): + print('[ERROR] crashpad_handler not found.') + finish(1) + elif not os.path.exists('Telegram.app/Contents/Resources/Icon.icns'): + print('[ERROR] Icon not found.') + finish(1) + elif not os.path.exists('Telegram.app/Contents/_CodeSignature'): + print('[ERROR] Signature not found.') + finish(1) + + if os.path.exists(today): + subprocess.call('rm -rf ' + today, shell=True) + result = subprocess.call('mkdir -p ' + today + '/TelegramForcePortable', shell=True) + if result != 0: + print('[ERROR] Creating folder ' + today + '/TelegramForcePortable') + finish(1) + + result = subprocess.call('cp -r Telegram.app ' + today + '/', shell=True) + if result != 0: + print('[ERROR] Cloning Telegram.app to ' + today + '.') + finish(1) + + result = subprocess.call('zip -r ' + archive + ' ' + today, shell=True) + if result != 0: + print('[ERROR] Adding tdesktop to archive.') + finish(1) + + subprocess.call('mkdir -p ' + outputFolder, shell=True) + subprocess.call('mv ' + archive + ' ' + outputFolder + '/', shell=True) + subprocess.call('rm -rf ' + today, shell=True) + print('Finished.') + finish(0) + + +if not os.path.exists('../out/Debug/' + outputFolder + '/' + archive): + print('[ERROR] Not built yet.') + finish(1) + templatePath = scriptPath + '/../../../TelegramPrivate/updates_template.txt' if not os.path.exists(templatePath): print('[ERROR] Template file "' + templatePath + '" not found.') @@ -80,77 +144,19 @@ if not len(commits): print('[ERROR] No commits since last build :(') finish(1) -result = subprocess.call('gyp/refresh.sh', shell=True) -if result != 0: - print('[ERROR] While calling GYP.') - finish(1) - -result = subprocess.call('xcodebuild -project Telegram.xcodeproj -alltargets -configuration Debug build', shell=True) -if result != 0: - print('[ERROR] While building Telegram.') - finish(1) - -os.chdir('../out/Debug') -if not os.path.exists('Telegram.app'): - print('[ERROR] Telegram.app not found.') - finish(1) - -result = subprocess.call('strip Telegram.app/Contents/MacOS/Telegram', shell=True) -if result != 0: - print('[ERROR] While stripping Telegram.') - finish(1) - -result = subprocess.call('codesign --force --deep --sign "Developer ID Application: John Preston" Telegram.app', shell=True) -if result != 0: - print('[ERROR] While signing Telegram.') - finish(1) - -if not os.path.exists('Telegram.app/Contents/Frameworks/Updater'): - print('[ERROR] Updater not found.') - finish(1) -elif not os.path.exists('Telegram.app/Contents/Helpers/crashpad_handler'): - print('[ERROR] crashpad_handler not found.') - finish(1) -elif not os.path.exists('Telegram.app/Contents/Resources/Icon.icns'): - print('[ERROR] Icon not found.') - finish(1) -elif not os.path.exists('Telegram.app/Contents/_CodeSignature'): - print('[ERROR] Signature not found.') - finish(1) - -if os.path.exists(today): - subprocess.call('rm -rf ' + today, shell=True) -result = subprocess.call('mkdir -p ' + today + '/TelegramForcePortable', shell=True) -if result != 0: - print('[ERROR] Creating folder ' + today + '/TelegramForcePortable') - finish(1) - -result = subprocess.call('cp -r Telegram.app ' + today + '/', shell=True) -if result != 0: - print('[ERROR] Cloning Telegram.app to ' + today + '.') - finish(1) - -archive = 'tdesktop_macOS_' + today + '.zip' -result = subprocess.call('zip -r ' + archive + ' ' + today, shell=True) -if result != 0: - print('[ERROR] Adding tdesktop to archive.') - finish(1) - changelog = '\n'.join(commits) print('\n\nReady! File: ' + archive + '\nChangelog:\n' + changelog) - -subprocess.call('mkdir -p ' + outputFolder, shell=True) -subprocess.call('mv ' + archive + ' ' + outputFolder + '/', shell=True) +if len(changelog) > 1024: + print('[ERROR] Length: ' + str(len(changelog))) + finish(1) with open(templatePath, 'r') as template: - with open(outputFolder + '/command.txt', 'w') as f: + with open(scriptPath + '/../../out/Debug/' + outputFolder + '/command.txt', 'w') as f: for line in template: if line.startswith('//'): continue line = line.replace('{path}', scriptPath + '/../../out/Debug/' + outputFolder + '/' + archive) line = line.replace('{caption}', 'TDesktop at ' + today.replace('_', '.') + ':\n\n' + changelog) f.write(line) - -subprocess.call('rm -rf ' + today, shell=True) -print('Finished.') +subprocess.call(scriptPath + '/../../out/Debug/Telegram.app/Contents/MacOS/Telegram -sendpath interpret://' + scriptPath + '/../../out/Debug/' + outputFolder + '/command.txt', shell=True) finish(0)