Server IP : 15.235.198.142 / Your IP : 216.73.216.217 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/softwareproperties/ |
Upload File : |
from aptsources.sourceslist import (SourceEntry, Deb822SourceEntry) def copy_source_entry(orig): """ Return a shallow copy of the source entry. """ if isinstance(orig, Deb822SourceEntry): return Deb822SourceEntry(str(orig), file=orig.file) return SourceEntry(str(orig), file=orig.file) def replace_source_entry(orig, **kwargs): """Return a copy of the given source entry with replaced field(s).""" entry = copy_source_entry(orig) for (k, v) in kwargs.items(): setattr(entry, k, v) return entry def get_source_entry_pocket(source_entry): """ Return the pocket, or if unset return 'release'. This always returns the pocket in lowercase. """ parts = source_entry.dist.partition('-') return (parts[2] or 'release').lower() def get_source_entry_suite(source_entry): """ Return the suite, without pocket. This always returns the suite in lowercase. """ return source_entry.dist.partition('-')[0] def get_source_entry_from_list(entries, entry): """ Return the source entry from entries that matches entry, if found. Otherwise return None. This function uses a modified equality check, i.e. it considers components as a set rather than a list so that different ordering does not affect the comparison. """ target = replace_source_entry(entry, comps=set(entry.comps)) for e in entries: if replace_source_entry(e, comps=set(e.comps)) == target: return e return None def deb822_source_entry_contains(a, b): """ Return True if the source defined by b is already satisfied by the source defined by a. For example, if source a is: Types: deb URIs: http://archive.ubuntu.com/ubuntu Suites: jammy Components: main universe and source b is: Types: deb URIs: http://archive.ubuntu.com/ubuntu Suites: jammy Components: universe Then source a contains source b. But if source b was: Types: deb-src URIs: http://archive.ubuntu.com/ubuntu Suites: jammy Components: universe Then a does not contain b because it does not include deb-src. """ if a.disabled != b.disabled: return False for attr in ['types', 'comps', 'suites', 'uris']: if set(getattr(b, attr)) - set(getattr(a, attr)): return False return True