Last active
June 29, 2016 06:25
-
-
Save abhigenie92/1980cf21cf9f8d74eb21f9ddc3715c76 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os,re,pdb | |
## Get the repos | |
path='/var/lib/apt/lists/' | |
files=os.listdir(path) | |
release_files=[file for file in files if file.endswith('Release')] | |
origin_pattern=re.compile('Origin: (.*)\n') | |
suite_pattern=re.compile('Suite: (.*)\n') | |
skipped_release_files=[] | |
repos_to_add=[] | |
for release_file in release_files: | |
with open(path+release_file, 'r') as f: | |
read_data = f.read() | |
# parse to get origin and suite | |
origin_string=re.findall(origin_pattern,read_data) | |
suite_string=re.findall(suite_pattern,read_data) | |
try: | |
repo="\"%s:%s\";" %(origin_string[0].replace(',',r'\,'), | |
suite_string[0].replace(',',r'\,')) | |
repos_to_add.append(repo) | |
except IndexError: | |
skipped_release_files.append(release_file) | |
## Add the result from repos_to_add in /etc/apt/apt.conf.d/50unattended-upgrades | |
# checking if not already present | |
with open('/etc/apt/apt.conf.d/50unattended-upgrades','r') as f: | |
read_data=f.read() | |
# get everything before first }; | |
raw_data=re.findall('[.\s\S]*};',read_data) | |
repos_already_present=re.findall('".*:.*";',raw_data[0]) | |
repos_to_add=[repo for repo in repos_to_add if repo not in repos_already_present] | |
print (repos_to_add) | |
print ("\n\nSkipping files :") | |
for skipped_release_file in skipped_release_files: | |
print (skipped_release_file) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment