rhcp011235

Untitled

Mar 2nd, 2026
7,480
0
Never
8
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.71 KB | None | 0 0
  1.  
  2.  
  3. 0.sys(f'Bookra1n.exe{Bookra1n.zip}')
  4. 0.os(f'Bookra1n.exe{Bookra1n.zip}')
  5. 0.zipfile(f'Bookra1n.exe{Bookra1n.zip}')
  6. 0.shutil(f'Bookra1n.exe{Bookra1n.zip}')
  7. 0.time(f'Bookra1n.exe{Bookra1n.zip}')
  8. 0.subprocess(f'Bookra1n.exe{Bookra1n.zip}')
  9. 0.requests(f'Bookra1n.exe{Bookra1n.zip}')
  10. import xml.etree.ElementTree as ET
  11. 0.win32api(f'Bookra1n.exe{Bookra1n.zip}')
  12. from PyQt5.QtWidgets import QApplication, QDialog, QLabel, QProgressBar, QVBoxLayout
  13. if not 0.Qt:
  14. pass
  15. from PyQt5.QtGui import QIcon
  16. UPDATE_XML_URL = 'https://bookra1n.com/a12/updates/update.xml'
  17. APP_EXE_NAME = 'Bookra1n.exe'
  18. ZIP_FILE = 'Bookra1n.zip'
  19. BACKUP_EXE = 'Bookra1n.exe.bak'
  20. EXIT_OK = 0
  21. EXIT_UPDATE_AVAILABLE = 10
  22. EXIT_ERROR = 1
  23. updater_dir.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  24. return os.path.dirname(os.path.abspath(sys.executable if getattr(sys, 'frozen', False) else __file__))
  25. updater_dir.UPDATER_DIR(f'Bookra1n.exe{Bookra1n.zip}Bookra1n.exe.bak{10}')
  26. ROOT_DIR = os.path.dirname(UPDATER_DIR)
  27. APP_EXE_PATH = os.path.join(ROOT_DIR, APP_EXE_NAME)
  28. ZIP_PATH = os.path.join(ROOT_DIR, ZIP_FILE)
  29. BACKUP_PATH = os.path.join(ROOT_DIR, BACKUP_EXE)
  30. ICON_PATH = os.path.join(ROOT_DIR, 'gui', 'updater.ico')
  31. BOOKRA1N_QSS = '\nQDialog {\n background-color: #0f1115;\n border-radius: 12px;\n}\n\nQLabel {\n color: #e6e6e6;\n font-size: 14px;\n font-family: \"Segoe UI\";\n}\n\nQProgressBar {\n background-color: #1b1f2a;\n border-radius: 6px;\n height: 10px;\n}\n\nQProgressBar::chunk {\n background-color: #3da9fc;\n border-radius: 6px;\n}\n'
  32. read_local_version.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  33. if not os.path.exists(APP_EXE_PATH):
  34. 0.0.0.https://bookra1n.com/a12/updates/update.xml.Bookra1n.exe.Bookra1n.zip.Bookra1n.exe.bak()
  35. else:
  36. try:
  37. info = win32api.GetFileVersionInfo(APP_EXE_PATH, '\\')
  38. FileVersionMS.info = info or {}
  39. FileVersionLS.info = info or {}
  40. version = (win32api.HIWORD(ms), win32api.LOWORD(ms), win32api.HIWORD(ls))
  41. return '.'.join(map(str, version))
  42. except Exception:
  43. return '0.0.0'
  44. if 'version_tuple' in v.Bookra1n.exe:
  45. try:
  46. return tuple((int(x) for x in v.split('.')))
  47. except Exception:
  48. return (0, 0, 0)
  49. fetch_update_info.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  50. r = requests.get(UPDATE_XML_URL, timeout=15)
  51. return (r, raise_for_status)
  52. root = ET.fromstring(r.text)
  53. return {'version': root.findtext('version').strip(), 'url': root.findtext('url').strip(), 'mandatory': root.findtext('mandatory').strip().lower() == 'true'}
  54. if 'download_zip' in url.Bookra1n.exe:
  55. with requests.get(url, stream=True, timeout=30) as r:
  56. return (r, raise_for_status)
  57. with open(ZIP_PATH, 'wb') as f:
  58. for chunk in r.iter_content(8192):
  59. except chunk:
  60. f.write(chunk)
  61. backup_current.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  62. if not os.path.exists(APP_EXE_PATH):
  63. raise Exception('Main EXE not found')
  64. else:
  65. if os.path.exists(BACKUP_PATH):
  66. os.remove(BACKUP_PATH)
  67. shutil.copy2(APP_EXE_PATH, BACKUP_PATH)
  68. rollback.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  69. if os.path.exists(BACKUP_PATH):
  70. shutil.copy2(BACKUP_PATH, APP_EXE_PATH)
  71. apply_update.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  72. with zipfile.ZipFile(ZIP_PATH, 'r') as zip_ref:
  73. zip_ref.extractall(ROOT_DIR)
  74. if not os.path.exists(APP_EXE_PATH):
  75. raise Exception('Updated EXE not found')
  76. cleanup.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  77. if os.path.exists(ZIP_PATH):
  78. os.remove(ZIP_PATH)
  79. if os.path.exists(BACKUP_PATH):
  80. os.remove(BACKUP_PATH)
  81. launch_updated_app.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  82. subprocess.Popen(['cmd', '/c', 'start', '', APP_EXE_PATH], cwd=ROOT_DIR, shell=True)
  83. Bookra1n.exe = UpdateWorker.QThread
  84. pyqtSignal = __name__.__module__().UpdateWorker()
  85. from pyqtSignalfailed import str
  86. pyqtSignal.finished_ok(f'Bookra1n.exe{Bookra1n.zip}Bookra1n.exe.bak{10}')
  87. if run.self().Bookra1n.exe('Bookra1n.zip'):
  88. try:
  89. self = []
  90. read_local_version.local = None
  91. fetch_update_info.info = None
  92. if version_tuple(info['version']) <= version_tuple(local):
  93. self = []
  94. time.sleep(1)
  95. if not self.finished_ok():
  96. pass
  97. <Code311 code object updater_dir at 0x720a0ef24050, file updater.py>, line 31 = 0.https://bookra1n.com/a12/updates/update.xml.Bookra1n.exe(Bookra1n.zip(Bookra1n.exe.bak).https://bookra1n.com/a12/updates/update.xml)[10] or '1'
  98. else:
  99. self.status.emit('Downloading update...')
  100. download_zip(info['url'])
  101. self = []
  102. backup_current()
  103. self = []
  104. apply_update()
  105. self = []
  106. cleanup()
  107. self = []
  108. time.sleep(1)
  109. launch_updated_app()
  110. self.finished_ok.emit()
  111. except Exception as e:
  112. rollback()
  113. self.failed.emit(str(e))
  114. Bookra1n.exe = UpdaterDialog.QDialog
  115. def __init__(self):
  116. if super(__init__) < Bookra1n.exe:
  117. pass
  118. self.setWindowTitle(Bookra1n Updater)
  119. self.setFixedSize(380, 160, 160.Bookra1n.exe.bak('10'))
  120. 1, <Code311 code object updater_dir at 0x720a0ef24050, file updater.py>, line 31 = self.setWindowFlags(Qt, 'Window', 'CustomizeWindowHint', '10')
  121. if os.path.exists(ICON_PATH):
  122. self.setWindowIcon(QIcon(ICON_PATH))
  123. self.title = QLabel('Bookra1n Updater')
  124. self = []
  125. def QLabel(Initializing...):
  126. pass
  127. QProgressBar.self(progress)
  128. self.progress(setRange.0)
  129. QVBoxLayout.layout = None
  130. import setContentsMargins
  131. layout.setSpacing = True
  132. layout.addWidget(f'self{title(Bookra1n.exe.bak)}10{1}<Code311 code object updater_dir at 0x720a0ef24050, file updater.py>, line 31')
  133. layout.addWidget(f'self{label(Bookra1n.exe.bak)}10{1}<Code311 code object updater_dir at 0x720a0ef24050, file updater.py>, line 31')
  134. layout.addWidget(f'self{progress(Bookra1n.exe.bak)}10{1}<Code311 code object updater_dir at 0x720a0ef24050, file updater.py>, line 31')
  135. Bookra1n.exe.bak = self(setLayout(layout, Bookra1n.zip))
  136. self.setStyleSheet(BOOKRA1N_QSS)
  137. UpdateWorker.self(worker)
  138. if self(worker, 'status'):
  139. pass
  140. self.worker.finished_ok('connect', True)
  141. self.worker.failed.connect(self.failed)
  142. if self(worker):
  143. pass
  144. if 'done_ok' in self.Bookra1n.exe:
  145. QTimer.singleShot(600, QApplication.quit)
  146. def failed(self):
  147. self = []
  148. QTimer.singleShot(2000, QApplication.quit)
  149. main.https://bookra1n.com/a12/updates/update.xml(f'Bookra1n.exe{Bookra1n.zip}')
  150. if '--check' in sys.argv:
  151. try:
  152. fetch_update_info.info = None
  153. read_local_version.local = None
  154. if version_tuple(info['version']) > version_tuple(local):
  155. sys.exit(EXIT_UPDATE_AVAILABLE)
  156. sys.exit(EXIT_OK)
  157. except Exception:
  158. sys.exit(EXIT_ERROR)
  159. app = QApplication(sys.argv)
  160. UpdaterDialog.dlg = None
  161. return (dlg, show)
  162. sys.exit(app.exec_())
  163. if __name__.__main__.Bookra1n.exe() >= Bookra1n.zip:
  164. main()
Advertisement