Mercurial > codedump
annotate updatechromium.py @ 129:8c39820da60a
add decode-mixed-mode.c
this decodes macintosh mixed-mode procedure types. It currently
only supports stack-based procedures :)
| author | Paper <paper@tflc.us> | 
|---|---|
| date | Sun, 19 Oct 2025 22:48:24 -0400 | 
| parents | 2aa9614cb39a | 
| children | 
| rev | line source | 
|---|---|
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
1 #!/usr/bin/python | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
2 # Binaries from | 
| 
36
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
3 # https://github.com/ungoogled-software/ungoogled-chromium-archlinux/ | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
4 import urllib.request | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
5 import os | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
6 import json | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
7 import sys | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
8 import subprocess | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
9 from tqdm import tqdm | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
10 | 
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
11 | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
12 # Decodes subprocess stdouts, made into a function because why not | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
13 def decode_line(line): | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
14 decodeline = [] | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
15 for i in line: | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
16 decodeline.append(i.decode("utf-8").rstrip()) | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
17 return decodeline | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
18 | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
19 | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
20 # Checks current version against installed version | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
21 def check_version(version): | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
22 pacman = subprocess.Popen(["pacman", "-Qm"], stdout=subprocess.PIPE, | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
23 stderr=subprocess.STDOUT) | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
24 decodeline = decode_line(pacman.stdout.readlines()) | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
25 for i in decodeline: | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
26 if i.split(" ")[0] == "ungoogled-chromium": | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
27 if i.split(" ")[1] == version: | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
28 print("You are on the latest version!") | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
29 sys.exit(0) | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
30 | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
31 | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
32 # Checks for any Chromium processes currently running | 
| 
36
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
33 # Returns 0 if running, 1 if not running, and 2 if it doesn't exist | 
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
34 def check_for_file(files): | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
35 process = subprocess.Popen(["which", files], stdout=subprocess.DEVNULL, | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
36 stderr=subprocess.STDOUT) | 
| 
36
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
37 process.wait() | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
38 | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
39 if process.returncode == 0: | 
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
40 pgrep = subprocess.Popen(["pidof", files], stdout=subprocess.PIPE, | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
41 stderr=subprocess.STDOUT) | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
42 decodeline = decode_line(pgrep.stdout.readlines()) | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
43 if len(decodeline) > 0: | 
| 
36
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
44 return 0 | 
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
45 else: | 
| 
36
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
46 return 1 | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
47 else: | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
48 return 2 | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
49 | 
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
50 | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
51 # Progress bar, copied from stackoverflow :pngtroll: | 
| 
36
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
52 class DownloadProgressBar(tqdm): | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
53 def update_to(self, b=1, bsize=1, tsize=None): | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
54 if tsize is not None: | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
55 self.total = tsize | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
56 self.update(b * bsize - self.n) | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
57 | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
58 | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
59 def download_url(url, output_path): | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
60 with DownloadProgressBar(unit='B', unit_scale=True, | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
61 miniters=1, desc=url.split('/')[-1]) as t: | 
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
62 urllib.request.urlretrieve(url, filename=output_path, | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
63 reporthook=t.update_to) | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
64 | 
| 
36
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
65 | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
66 if check_for_file("chromium") == 0: | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
67 print("Chromium is still running! Exiting...") | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
68 sys.exit(1) | 
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
69 owner = "ungoogled-software" | 
| 
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
70 repo = "ungoogled-chromium-archlinux" | 
| 40 | 71 json = json.loads(urllib.request.urlopen( | 
| 72 f"https://api.github.com/repos/{owner}/{repo}/releases").read()) | |
| 
39
 
a93c352af05e
Update updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
38 
diff
changeset
 | 
73 check_version(json[0]["tag_name"]) | 
| 
36
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
74 for i in json[0]["assets"]: | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
75 if i["content_type"] == "application/octet-stream": | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
76 download_url(f"{i['browser_download_url']}", "/tmp/chromium.tar.zst") | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
77 os.system("sudo pacman -U /tmp/chromium.tar.zst") | 
| 
 
8e49e6662429
Add updatechromium.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
78 os.remove("/tmp/chromium.tar.zst") | 
