Mercurial > codedump
annotate updatechromium.py @ 36:8e49e6662429
Add updatechromium.py
committer: GitHub <noreply@github.com>
| author | Paper <37962225+mrpapersonic@users.noreply.github.com> |
|---|---|
| date | Mon, 21 Jun 2021 10:24:19 -0400 |
| parents | |
| children | 310a73329fa4 |
| rev | line source |
|---|---|
|
36
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
1 # https://github.com/ungoogled-software/ungoogled-chromium-archlinux/ |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
2 import urllib.request |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
3 import os |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
4 import json |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
5 import sys |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
6 import subprocess |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
7 from tqdm import tqdm |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
8 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
9 # Returns 0 if running, 1 if not running, and 2 if it doesn't exist |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
10 def check_for_file(file): |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
11 process = subprocess.Popen(["which", file], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT) |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
12 process.wait() |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
13 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
14 if process.returncode == 0: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
15 try: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
16 subprocess.check_output(["pidof", file]) |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
17 return 0 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
18 except: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
19 return 1 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
20 else: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
21 return 2 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
22 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
23 class DownloadProgressBar(tqdm): |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
24 def update_to(self, b=1, bsize=1, tsize=None): |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
25 if tsize is not None: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
26 self.total = tsize |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
27 self.update(b * bsize - self.n) |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
28 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
29 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
30 def download_url(url, output_path): |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
31 with DownloadProgressBar(unit='B', unit_scale=True, |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
32 miniters=1, desc=url.split('/')[-1]) as t: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
33 urllib.request.urlretrieve(url, filename=output_path, reporthook=t.update_to) |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
34 |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
35 if check_for_file("chromium") == 0: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
36 print("Chromium is still running! Exiting...") |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
37 sys.exit(1) |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
38 if check_for_file("zstd") == 2: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
39 print("zstd not found! Exiting...") |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
40 sys.exit(1) |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
41 if check_for_file("tar") == 2: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
42 print("tar not found! Exiting...") |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
43 sys.exit(1) |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
44 OWNER = "ungoogled-software" |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
45 REPO = "ungoogled-chromium-archlinux" |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
46 r = urllib.request.urlopen(f"https://api.github.com/repos/{OWNER}/{REPO}/releases") |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
47 json = json.loads(r.read()) |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
48 for i in json[0]["assets"]: |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
49 if i["content_type"] == "application/octet-stream": |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
50 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
|
51 os.system("sudo pacman -U /tmp/chromium.tar.zst") |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
52 os.remove("/tmp/chromium.tar.zst") |
|
8e49e6662429
Add updatechromium.py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
53 |
