-
Notifications
You must be signed in to change notification settings - Fork 0
/
update_main.py
55 lines (44 loc) · 1.59 KB
/
update_main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import os
import tarfile
print("Welcome to Xtream Updater")
print("This script will create update.tar.gz and delete.php for you")
print("Please enter the following information:")
print("-------------------------------------------------")
print("Example:")
print("Version of the previous release : v1.2.0")
print("Enter path to Xtream_main : /home/xtream/Xtream_main")
print("-------------------------------------------------")
lastUpdate = input("Version of the previous release : ")
inputPath = input("Enter path to Xtream_main : ")
# create tmp folder
if not os.path.exists("tmp"):
os.makedirs("tmp")
# Create update.tar.gz
print("Creating update.tar.gz")
# run comand and get output
files = os.popen(
f"git --git-dir={inputPath}/.git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRTU {lastUpdate} main"
).read()
files = files.split("\n")
files.remove("")
files.append("update/update_bd.php")
files.append("update/update.py")
files.append("update/update.php")
print(files)
with tarfile.open("tmp/update.tar.gz", "w:gz") as tar:
for file in files:
tar.add(inputPath + "/" + file, arcname=file)
# Create delete.php
print("Creating delete.php")
filesD = os.popen(
f"git --git-dir={inputPath}/.git diff-tree -r --no-commit-id --name-only --diff-filter=D {lastUpdate} main"
).read()
with open("tmp/delete.php", "w") as f:
f.write("<?php\n")
for file in filesD.split("\n"):
if file != "":
PHPDeleteCOmand = "if (file_exists('%s')) {\n\tunlink('%s');\n}\n" % (
file,
file,
)
f.write(PHPDeleteCOmand)