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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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