1
0
mirror of https://github.com/HorlogeSkynet/archey4 synced 2025-05-14 04:00:13 +02:00

13 Commits

Author SHA1 Message Date
Aa
80abeaae71
[DISTROS] Adds support for Pop!_OS (#84)
Co-authored-by: Samuel FORESTIER <dev@samuel.domains>
2020-10-08 16:41:01 +00:00
SomethingGeneric
37124fb3b0
[DISTROS] Adds support for Elementary OS (#83)
Co-authored-by: Samuel FORESTIER <dev@samuel.domains>
2020-10-01 16:26:09 +00:00
Michael Bromilow
f2f9a9a508
[LOGOS] Adds {Free,Open}BSD + Updates Fedora, Ubuntu & Windows (#78)
Co-authored-by: Samuel FORESTIER <dev@samuel.domains>
2020-06-26 06:28:02 +00:00
Samuel FORESTIER
ad28b3d958
[VARIOUS] [BREAKING] Add support for new (specific) distros (#79)
Adds support for Android, NixOS, Slackware. Restores (and fixes) support for CrunchBang (and derivatives).

Breaking changes:
 * Adds `Packages` support for multiple package-managers, adding their totals.

Changes:
 + Adds Android & NixOS logos and colors.
 + Adds Android detection to `Model` entry.
 + Adds Android, NixOS, Crunchbang detection. Fixes CrunchBang (and derivatives) detection.
 + `Distro` and `Model` entry test-cases refactored.

 - `Packages` reverted to count '\n' characters instead of `os.linesep`: see e09434a860ccded9b75e1c5e2792af3919f03c21.

 * Refactors `Model` entry to prefer static methods.
 * Fixes bug where `Model` has a virtual-machine value when some system tools are missing.
 * Distro-detection refactor, including `Distro` entry, to allow detection 

Co-authored-by: Michael Bromilow <developer@bromilow.uk>
2020-06-25 21:48:24 +00:00
Samuel FORESTIER
34d1785356 [INTERNAL] Renames COLOR_DICT to plural, for consistency purposes 2020-06-05 15:13:15 +02:00
Michael Bromilow
f545d948c0
[TESTS] Clean up tests (#76)
Vastly simplifies entry tests that deal with `Configuration` by adding some helper-methods.

The main reasoning behind this is that patching `Configuration.get` in tests is delicate, and refactoring any code very easily breaks this method. The new helper methods allow us to start from a known clean state in our entry tests.

+ Adds helper methods `entry_mock` and `patch_clean_configuration` for tests.
+ Makes `Configuration` into an iterable.
+ `Configuration`'s `update_recursive` method is now public.

* Moves entry tests to a new sub-folder in `archey/test`
* Moves default configuration to `archey.constants`
* Rewrites tests' patches to use the new helper methods.

Co-authored-by: Samuel FORESTIER <dev@samuel.domains>
2020-06-05 00:13:04 +00:00
Samuel FORESTIER
c84eb8e0fb [DISTRO] Adds a proper logo for Raspbian
> ASCII art work has been taken and modified from ScreenFetch :
> See <edf9d1af41>
2020-05-29 21:29:54 +02:00
Samuel FORESTIER
3999ce6f30 [DISTRO] [NEW] Adds support for CentOS
> CentOS ASCII logo is inspired from Neofetch (see <a61724f6b2/neofetch (L6083)>).
2020-04-24 11:48:53 +02:00
Samuel FORESTIER
d676b0b2d5 [DISTRO] [NEW] Adds (basic) support for Alpine Linux
> Alpine Linux ASCII logo has been borrowed from Neofetch (see <404c955e8f>).

- Known bug :
-   The `Disk` entry is not compatible against the BusyBox `df` implementation.
-   Alpine users are advised to **disable** it from configuration.
2020-04-24 11:03:31 +02:00
Samuel FORESTIER
0d213db5ba [LOGOS] [UBUNTU] Switches yellow part to bright, making it "flashier" 2020-04-24 08:58:47 +02:00
Samuel FORESTIER
fb634de537 [OUTPUT] [PERF] Stops using REGEXPs while trying to match the distro 2020-04-23 21:30:02 +02:00
Samuel FORESTIER
d6a7132c35 [LOGOS] [ENTRIES] Reworks the way we internally handle ANSI colors
+ Creates a new `Colors` module dedicated to ANSI colors management
+ Improves consistency between logos colors palette ordering
+ Sets (fixes ?) Arch Linux main (text) color to bright cyan
+ Sets (fixes ?) Manjaro color to bright green
2020-04-23 17:25:30 +02:00
Anthony Lannutti
4dcf479826 Software Architecture major rework (#41)
* Moved constants and logo ascii art out of the main file
* Moved Configuration class to separate file
* Moved Output class to a separate file
* Moved hostname class definition to it's own separate file
* Moved Model class definition to it's own file
* Moved Kernel class to its own file
* Moved uptime class definition to it's own file
* Moved Disk class definition to its own file
* Moved RAM class definition to it's own file
* Moved CPU class definition to it's own file
* Moved LanIp class definition to it's own file
* Moved WanIp class definition to a separate file
* Moved Packages class definition to separate file
* Moved User class definition to its own file
* Moved entry class definitions to their own directory
* Moved GPU entry class definition to a separate file
* Moved temperature entry class definition to a separate file
* Moved terminal entry class definition to separate file
* Moved shell entry class definition to separate file
* Rewrited the `LanIp` module to handle more cases and optimizations
* Moved window manager and desktop environment class definitions to separate files
* Moved distro class definition to separate file
* Removed direct use of COLOR_DICT in disk.py and ram.py
* Moved unit tests and modified import paths
* Moved {DE,WM}_DICT constants to their respective modules
* Made `Configuration` & `Processes` (new class) act as singletons
* Set the `Configuration` internal `config` dictionary to "private" attribute

+ Now relies on a `.pylintrc` file for Pylint (now almost fully-compliant)
+ Fixed typos
+ Added another dependency on `netifaces`, but this should remove the assumption about tools available in the user's environment
+ The project may now be run as a Python module
+ Marked Python 3.8 as supported for SetupTools
+ Added instructions (and tests) to build a standalone version of Archey
+ Adds @lannuttia to COPYRIGHT (initiator of the major rework)

- Removed the dependency to `net-tools`


Co-authored-by: Samuel FORESTIER <dev@samuel.domains>
2019-07-22 11:56:03 +02:00