summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-10 03:17:20 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-10 03:17:20 +0000
commit53da11888eb6126cb01a51d374f24be78142847f (patch)
tree0cbbf63709e7fa197261495db103a5c6d03c771c
parenta4113ec22eb83961fe53546a17d5998df1391872 (diff)
minor tweaks to search filters && do not suggest --ebuild option when we have a match
-rw-r--r--src/backend/searchbinary.py18
-rw-r--r--src/frontend/cli/README.md12
-rwxr-xr-xsrc/frontend/cli/sisyphus-cli.py18
3 files changed, 23 insertions, 25 deletions
diff --git a/src/backend/searchbinary.py b/src/backend/searchbinary.py
index f4a65bd..b52c3c6 100644
--- a/src/backend/searchbinary.py
+++ b/src/backend/searchbinary.py
@@ -8,7 +8,7 @@ import sqlite3
def searchDB(filter, cat = '', pn = '', desc = ''):
NOVIRT = "AND cat NOT LIKE 'virtual'"
SELECTS = {
- 'any': f'''SELECT
+ 'all': f'''SELECT
i.category AS cat,
i.name as pn,
i.version as iv,
@@ -60,7 +60,7 @@ def searchDB(filter, cat = '', pn = '', desc = ''):
LEFT JOIN remote_descriptions AS d ON i.name = d.name AND i.category = d.category
WHERE cat LIKE '%{cat}%' AND pn LIKE '%{pn}%' AND desc LIKE '%{desc}%' {NOVIRT}
AND av IS 'alien' ''',
- 'remote': f'''SELECT
+ 'available': f'''SELECT
a.category AS cat,
a.name AS pn,
i.version as iv,
@@ -74,7 +74,7 @@ def searchDB(filter, cat = '', pn = '', desc = ''):
LEFT JOIN remote_descriptions AS d ON a.name = d.name AND a.category = d.category
WHERE cat LIKE '%{cat}%' AND pn LIKE '%{pn}%' AND desc LIKE '%{desc}%' {NOVIRT}
AND iv IS NULL''',
- 'upgrade': f'''SELECT
+ 'upgradeable': f'''SELECT
i.category AS cat,
i.name AS pn,
i.version as iv,
@@ -102,11 +102,11 @@ def tosql(string):
return '%%' if string == '' else string.replace('*', '%').replace('?', '_')
def showSearch(filter, cat, pn, desc, single):
- print(f"Looking into {filter} packages ...\n")
+ print(f"Searching {filter} packages ... \n")
pkglist = searchDB(filter, tosql(cat), tosql(pn), tosql(desc))
if len(pkglist) == 0:
- print("No binary package found!")
+ print("No package found!\nUse the '--ebuild' option to search for source packages!")
else:
if single:
print(f"{'Package':45} {'Installed':20} Available")
@@ -117,19 +117,17 @@ def showSearch(filter, cat, pn, desc, single):
if pkg['av'] != 'alien':
print(f"\tLatest available version: {pkg['av']}")
else:
- print(f"\tAlien package: Use `sisyphus search --ebuild {pkg['pn']}` for available version")
+ print(f"\tAlien package: Use `sisyphus search --ebuild {pkg['pn']}` for available version!")
print(f"\tDescription: {pkg['desc']}\n")
else:
cpn = f"{pkg['cat']}/{pkg['pn']}"
print(f"{cpn:45} {str(pkg['iv']):20} {str(pkg['av'])}")
- print(f"\nFound {len(pkglist)} matching package(s)")
-
- print("To search for source packages, use the '--ebuild' option.")
+ print(f"\nFound {len(pkglist)} matching package(s) ...")
def start(filter, cat, pn, desc, single):
if sisyphus.check.root():
sisyphus.update.start()
else:
- print('\nYou are not root, cannot fetch updates.\nSearch result may be inaccurate!\n')
+ print("\nYou are not root, cannot fetch updates.\nSearch result may be inaccurate!\n")
showSearch(filter, cat, pn, desc, single)
diff --git a/src/frontend/cli/README.md b/src/frontend/cli/README.md
index 0ef8b69..5636e2e 100644
--- a/src/frontend/cli/README.md
+++ b/src/frontend/cli/README.md
@@ -229,16 +229,16 @@ In addition, search can be performed by package description, using the -d (--des
Use the -f (--filter) option to select only packages of interest. Possible values:
- any (default) - search the entire database
+ all (default) - search the entire database
alien - search for installed packages but not available
(this filter can match packages installed from e-builds or packages no longer maintained as binaries)
installed - search in all installed packages
- remote - search for available packages but not installed
+ available - search for available packages but not installed
- upgrade - search for installed packages where installed version is different from available version
+ upgradeable - search for installed packages where installed version is different from available version
!!! NOTE !!!:
@@ -249,9 +249,9 @@ To search for all matching '--filter' packages escape it, or surround it with qu
sisyphus search \* -f alien # OK
- sisyphus search '*' -f remote # OK
+ sisyphus search '*' -f available # OK
- sisyphus search '' -f upgrade # OK
+ sisyphus search '' -f upgradeable # OK
To search for all (including source) packages, use the --ebuild option.
@@ -268,7 +268,7 @@ $ sisyphus search [OPTIONS] PACKAGE...
**Options**:
* `-d, --description TEXT`: Match description.
-* `-f, --filter [any|alien|installed|remote|upgrade]`: [default: any]
+* `-f, --filter [all|alien|installed|available|upgradeable]`: [default: all]
* `-q`: Short (one line) output.
* `-e, --ebuild`: Search in ebuilds (slower).
* `--help`: Show this message and exit.
diff --git a/src/frontend/cli/sisyphus-cli.py b/src/frontend/cli/sisyphus-cli.py
index 8937c93..e69a547 100755
--- a/src/frontend/cli/sisyphus-cli.py
+++ b/src/frontend/cli/sisyphus-cli.py
@@ -21,16 +21,16 @@ def app_callback(ctx: typer.Context):
ctx.info_name = 'sisyphus'
class Filter(str, Enum):
- any = 'any'
+ all = 'all'
alien = 'alien'
installed = 'installed'
- remote = 'remote'
- upgrade = 'upgrade'
+ available = 'available'
+ upgradeable = 'upgradeable'
@app.command("search")
def search(package: List[str] = typer.Argument(...),
desc: str = typer.Option('', '--description', '-d', help = 'Match description.'),
- filter: Filter = typer.Option(Filter.any, '--filter', '-f', show_default=True),
+ filter: Filter = typer.Option(Filter.all, '--filter', '-f', show_default=True),
quiet: bool = typer.Option(False, '-q', help='Short (one line) output.'),
ebuild: bool = typer.Option(False, "--ebuild", "-e", help = 'Search in ebuilds (slower).')):
"""Search for binary and/or ebuild (source) packages.
@@ -62,16 +62,16 @@ def search(package: List[str] = typer.Argument(...),
Use the -f (--filter) option to select only packages of interest. Possible values:
- any (default) - search the entire database
+ all (default) - search the entire database
alien - search for installed packages but not available
(this filter can match packages installed from e-builds or packages no longer maintained as binaries)
installed - search in all installed packages
- remote - search for available packages but not installed
+ available - search for available packages but not installed
- upgrade - search for installed packages where installed version is different from available version
+ upgradeable - search for installed packages where installed version is different from available version
!!! NOTE !!!:
@@ -82,9 +82,9 @@ def search(package: List[str] = typer.Argument(...),
sisyphus search \* -f alien # OK
- sisyphus search '*' -f remote # OK
+ sisyphus search '*' -f available # OK
- sisyphus search '' -f upgrade # OK
+ sisyphus search '' -f upgradeable # OK
To search for all (including source) packages, use the --ebuild option.