Cnchi Documentation Release 0.16.X Karasu
Total Page:16
File Type:pdf, Size:1020Kb
Cnchi Documentation Release 0.16.x karasu lots0logs Jul 10, 2018 Contents: 1 bootinfo 1 2 browser_window 3 3 cnchi 5 4 config 7 5 desktop_info 9 6 download (module) 11 7 features_info 13 8 geoip 15 9 hardware (module) 17 10 info 25 11 installation (module) 27 12 logging_utils 35 13 main_window 37 14 misc (module) 39 15 proxy 47 16 rank_mirrors 49 17 show_message 51 18 test_page 53 19 update_db 55 20 Indices and tables 57 i Python Module Index 59 ii CHAPTER 1 bootinfo Detects installed OSes (needs root privileges) bootinfo.get_os_dict() Returns all detected OSes in a dict bootinfo.windows_startup_folder(mount_path) Returns windows startup folder 1 Cnchi Documentation, Release 0.16.x 2 Chapter 1. bootinfo CHAPTER 2 browser_window 3 Cnchi Documentation, Release 0.16.x 4 Chapter 2. browser_window CHAPTER 3 cnchi 5 Cnchi Documentation, Release 0.16.x 6 Chapter 3. cnchi CHAPTER 4 config Configuration module for Cnchi class config.Settings Store all Cnchi setup options here get(key) Get one setting value set(key, value) Set one setting’s value 7 Cnchi Documentation, Release 0.16.x 8 Chapter 4. config CHAPTER 5 desktop_info Desktop Environments information desktop_info.ALL_FEATURES = ['a11y', 'aur', 'bluetooth', 'cups', 'chromium', 'energy', 'firefox', 'firewall', 'flash', 'games', 'graphic_drivers', 'lamp', 'lts', 'office', 'sshd', 'visual', 'vivaldi'] List: All features desktop_info.DESCRIPTIONS = {'base': 'This option will install Antergos as command-line only system, without any type of graphical interface. After the installation you can customize Antergos by installing packages with the command-line package manager.', 'budgie': 'Budgie is the flagship desktop of Solus and is a Solus project. It focuses on simplicity and elegance. Written from scratch with integration in mind, the Budgie desktop tightly integrates with the GNOME stack, but offers an alternative desktop experience.', 'cinnamon': 'Cinnamon is a Linux desktop which provides advanced, innovative features and a traditional desktop user experience. Cinnamon aims to make users feel at home by providing them with an easy-to-use and comfortable desktop experience.', 'deepin': 'Deepin desktop is a lightweight, elegant desktop environment. It was originally created for Linux Deepin distribution. Now, DDE will support most Linux operating systems such as Arch Linux, Ubuntu, Fedora, openSUSE etc.', 'enlightenment': 'Enlightenment is not just a window manager for Linux/X11 and others, but also a whole suite of libraries to help you create beautiful user interfaces with much less work', 'gnome': 'GNOME 3 is an easy and elegant way to use your computer. It features the Activities Overview which is an easy way to access all your basic tasks.', 'i3': 'i3 is a tiling window manager, completely written from scratch. The target platforms are GNU/Linux and BSD operating systems, its code is Free and Open Source Software (FOSS) under the BSD license. i3 is primarily targeted at advanced users and developers.', 'kde': "If you are looking for a familiar working environment, KDE's Plasma Desktop offers all the tools required for a modern desktop computing experience so you can be productive right from the start.", 'lxqt': 'LXQt is the next-generation of LXDE, the Lightweight Desktop Environment. It is lightweight, modular, blazing-fast, and user-friendly.', 'mate': 'MATE is an intuitive, attractive, and lightweight desktop environment which provides a more traditional desktop experience. Accelerated compositing is supported, but not required to run MATE making it suitable for lower-end hardware.', 'openbox': 'Not actually a desktop environment, Openbox is a highly configurable window manager. It is known for its minimalistic appearance and its flexibility. It is the most lightweight graphical option offered by antergos. Please Note: Openbox is not recommended for users who are new to Linux.', 'xfce': 'Xfce is a lightweight desktop environment. It aims to be fast and low on system resources, while remaining visually appealing and user friendly. It suitable for use on older computers and those with lower-end hardware specifications. '} dict: A description for each desktop enviroment to show to the user desktop_info.DESKTOPS = ['base', 'cinnamon', 'deepin', 'gnome', 'kde', 'mate', 'openbox', 'xfce'] List: available destkops to install. desktop_info.DESKTOPS_A11Y = ['gnome', 'mate'] List: desktops that have the accessibility feature. desktop_info.DESKTOPS_DEV = ['base', 'cinnamon', 'deepin', 'gnome', 'kde', 'mate', 'openbox', 'xfce', 'budgie', 'enlightenment', 'i3', 'lxqt'] List: availabel desktops to install in development mode. desktop_info.DESKTOP_ICONS_PATH = '/usr/share/cnchi/data/icons' Str: Path with the Cnchi icons desktop_info.EXCLUDED_FEATURES = {'base': ['bluetooth', 'chromium', 'firefox', 'firewall', 'flash', 'games', 'graphic_drivers', 'office', 'visual', 'vivaldi'], 'budgie': ['lamp', 'visual'], 'cinnamon': ['lamp', 'visual'], 'deepin': ['lamp', 'visual'], 'enlightenment': ['lamp', 'visual'], 'gnome': ['lamp', 'visual'], 'i3': ['lamp'], 'kde': ['lamp', 'visual'], 'lxqt': ['lamp', 'visual'], 'mate': ['lamp', 'visual'], 'openbox': ['lamp'], 'xfce': ['lamp', 'visual']} Dict: Not all desktops have all features desktop_info.LIBS = {'gtk': ['cinnamon', 'deepin', 'gnome', 'mate', 'openbox', 'xfce', 'budgie', 'enlightenment', 'i3'], 'qt': ['kde', 'lxqt']} Dict: Which libraries need to be installed depending on the desktop choosed. desktop_info.NAMES = {'base': 'Base', 'budgie': 'Budgie', 'cinnamon': 'Cinnamon', 'deepin': 'Deepin', 'enlightenment': 'Enlightenment', 'gnome': 'GNOME', 'i3': 'i3', 'kde': 'KDE', 'lxqt': 'LXQt', 'mate': 'MATE', 'openbox': 'Openbox', 'xfce': 'Xfce'} Dict: Descriptive desktop names desktop_info.SESSIONS = {'budgie': 'budgie-desktop', 'cinnamon': 'cinnamon', 'deepin': 'deepin', 'enlightenment': 'enlightenment', 'gnome': 'gnome', 'i3': 'i3', 'kde': 'plasma', 'lxqt': 'lxsession', 'mate': 'mate', 'openbox': 'openbox', 'xfce': 'xfce'} Dict: Session names for lightDM setup (/usr/share/xsessions) 9 Cnchi Documentation, Release 0.16.x 10 Chapter 5. desktop_info CHAPTER 6 download (module) 6.1 download.download 6.2 download.download_requests Module to download packages using requests library class download.download_requests.CopyToCache(origin, xz_cache_dirs) Class thread to copy a xz file to the user’s provided cache directory run() Method representing the thread’s activity. You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively. class download.download_requests.Download(pacman_cache_dir, xz_cache_dirs, call- back_queue, proxies=None) Class to download packages using requests This class tries to previously download all necessary packages for Antergos installation using requests download_package(element, dst_path) Package wasn’t previously downloaded or its md5 was wrong We’ll have to download it Let’s download our file using its url Checks all mirrors if necessary download_url(url, dst_path, md5hash=”) Downloads file from url to dst_path and checks its md5 hash static format_progress_message(percent, bps) Formats speed message information is_hash_ok(path, element=None, md5hash=None) Checks file md5 hash 11 Cnchi Documentation, Release 0.16.x queue_event(event_type, event_text=None) Adds an event to Cnchi event queue start(downloads) Downloads using requests download.download_requests.get_md5(file_name) Gets md5 hash from a file 6.3 download.metalink 12 Chapter 6. download (module) CHAPTER 7 features_info Features information features_info.ADVANCED = ['aur', 'firefox', 'vivaldi', 'firewall', 'flash', 'graphic_drivers', 'lamp', 'lts', 'sshd', 'visual'] list: These features are considered ‘advanced’ so it won’t be shown by default features_info.DESCRIPTIONS = {'a11y': 'Useful packages for individuals who are blind or visually impaired.', 'aur': 'The AUR is a community-driven repository for Arch users.', 'bluetooth': 'Enables your system to make wireless connections via Bluetooth.', 'chromium': 'Open-source web browser from Google.', 'cups': 'Installation of printer drivers and management tools.', 'energy': 'Brings you the benefits of advanced power management for Linux.', 'firefox': 'A popular open-source graphical web browser from Mozilla.', 'firewall': 'Control the incoming and outgoing network traffic.', 'flash': 'Freeware software normally used for multimedia.', 'games': 'Installs Steam and Playonlinux for gaming enthusiasts.', 'graphic_drivers': 'Installs AMD or Nvidia proprietary graphic driver.', 'lamp': 'Apache (or Nginx) + Mariadb + PHP installation and setup.', 'lts': 'Long term support (LTS) Linux kernel and modules.', 'office': 'Open source office suite. Supports editing MS Office files.', 'sshd': 'Enables Secure SHell service.', 'visual': 'Enable transparency, shadows, and other desktop effects.', 'vivaldi': 'Vivaldi is a free, fast web browser designed for power-users.'} dict: Feature descriptions features_info.ICON_NAMES = {'a11y': 'a11y', 'aur': 'system-software-install', 'bluetooth': 'bluetooth', 'chromium': 'chromium', 'cups': 'printer', 'energy': 'gnome-power-manager', 'firefox': 'firefox', 'firewall': 'network-server', 'flash': 'flash', 'games': 'applications-games', 'graphic_drivers': 'gnome-system', 'lamp': 'applications-internet', 'lts': 'applications-accessories', 'office': 'accessories-text-editor', 'sshd': 'network-connect', 'visual': 'video-display',