aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang E. Sanyer <WolfgangESanyer@gmail.com>2021-09-20 08:49:15 -0400
committerMatt Turner <mattst88@gentoo.org>2021-09-20 15:51:52 -0700
commitbbcd72b5fe85fe9bbca1913f8aa22077d94e75d0 (patch)
tree64a38c9e94cad7c800fcd1ca7307632f603e1315 /pym/gentoolkit/flag.py
parentequery: Remove leftovers from 'changes' removal (diff)
downloadgentoolkit-bbcd72b5fe85fe9bbca1913f8aa22077d94e75d0.tar.gz
gentoolkit-bbcd72b5fe85fe9bbca1913f8aa22077d94e75d0.tar.bz2
gentoolkit-bbcd72b5fe85fe9bbca1913f8aa22077d94e75d0.zip
Change tabs to spaces (using autopep8). Also, format repo using black.
The following command was used to change the tabs to spaces: autopep8 --in-place --select=E101,E11,E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E133,E20,E211,E22,E224,E224,E226,E227,E228,E231,E241,E242,E251,E252,E26,E265,E266,E27,E301,E302,E303,E304,E305,E306,W291,W293,W391 -r . And then black was run as `black .` on the entire tree Signed-off-by: Wolfgang E. Sanyer <WolfgangESanyer@gmail.com> Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'pym/gentoolkit/flag.py')
-rw-r--r--pym/gentoolkit/flag.py276
1 files changed, 140 insertions, 136 deletions
diff --git a/pym/gentoolkit/flag.py b/pym/gentoolkit/flag.py
index 42e8196..20ba855 100644
--- a/pym/gentoolkit/flag.py
+++ b/pym/gentoolkit/flag.py
@@ -9,14 +9,14 @@
__all__ = (
- 'get_iuse',
- 'get_installed_use',
- 'reduce_flag',
- 'reduce_flags',
- 'defaulted_flags',
- 'filter_flags',
- 'get_all_cpv_use',
- 'get_flags'
+ "get_iuse",
+ "get_installed_use",
+ "reduce_flag",
+ "reduce_flags",
+ "defaulted_flags",
+ "filter_flags",
+ "get_all_cpv_use",
+ "get_flags",
)
@@ -24,156 +24,160 @@ import portage
def get_iuse(cpv):
- """Gets the current IUSE flags from the tree
-
- To be used when a gentoolkit package object is not needed
- @type: cpv: string
- @param cpv: cat/pkg-ver
- @rtype list
- @returns [] or the list of IUSE flags
- """
- try:
- # aux_get might return dupes, so run them through set() to remove them
- iuse = set(portage.db[portage.root]["porttree"].dbapi.aux_get(cpv, ["IUSE"])[0].split())
- # there could still be dupes due to IUSE defaults
- iuse = [x for x in iuse if '+'+x not in iuse and '-'+x not in iuse]
- return list(iuse)
- except:
- return []
+ """Gets the current IUSE flags from the tree
+
+ To be used when a gentoolkit package object is not needed
+ @type: cpv: string
+ @param cpv: cat/pkg-ver
+ @rtype list
+ @returns [] or the list of IUSE flags
+ """
+ try:
+ # aux_get might return dupes, so run them through set() to remove them
+ iuse = set(
+ portage.db[portage.root]["porttree"].dbapi.aux_get(cpv, ["IUSE"])[0].split()
+ )
+ # there could still be dupes due to IUSE defaults
+ iuse = [x for x in iuse if "+" + x not in iuse and "-" + x not in iuse]
+ return list(iuse)
+ except:
+ return []
def get_installed_use(cpv, use="USE"):
- """Gets the installed USE flags from the VARDB
+ """Gets the installed USE flags from the VARDB
- To be used when a gentoolkit package object is not needed
- @type: cpv: string
- @param cpv: cat/pkg-ver
- @type use: string
- @param use: 1 of ["USE", "PKGUSE"]
- @rtype list
- @returns [] or the list of IUSE flags
- """
- return portage.db[portage.root]["vartree"].dbapi.aux_get(cpv,[use])[0].split()
+ To be used when a gentoolkit package object is not needed
+ @type: cpv: string
+ @param cpv: cat/pkg-ver
+ @type use: string
+ @param use: 1 of ["USE", "PKGUSE"]
+ @rtype list
+ @returns [] or the list of IUSE flags
+ """
+ return portage.db[portage.root]["vartree"].dbapi.aux_get(cpv, [use])[0].split()
def reduce_flag(flag):
- """Absolute value function for a USE flag
+ """Absolute value function for a USE flag
- @type flag: string
- @param flag: the use flag to absolute.
- @rtype: string
- @return absolute USE flag
- """
- if flag[0] in ["+","-"]:
- return flag[1:]
- else:
- return flag
+ @type flag: string
+ @param flag: the use flag to absolute.
+ @rtype: string
+ @return absolute USE flag
+ """
+ if flag[0] in ["+", "-"]:
+ return flag[1:]
+ else:
+ return flag
def reduce_flags(the_list):
- """Absolute value function for a USE flag list
+ """Absolute value function for a USE flag list
- @type the_list: list
- @param the_list: the use flags to absolute.
- @rtype: list
- @return absolute USE flags
- """
- r=[]
- for member in the_list:
- r.append(reduce_flag(member))
- return r
+ @type the_list: list
+ @param the_list: the use flags to absolute.
+ @rtype: list
+ @return absolute USE flags
+ """
+ r = []
+ for member in the_list:
+ r.append(reduce_flag(member))
+ return r
def defaulted_flags(the_list):
- """Absolute value function for a USE flag list
+ """Absolute value function for a USE flag list
- @type the_list: list
- @param the_list: the use flags to get defaulted ones from.
- @rtype: dict of lists
- @return defaulted USE flags {'+': [...], '-': [...]}
- """
- r={"+":[], "-": []}
- for member in the_list:
- if member[0] in ["+","-"]:
- r[member[0]].append(member[1:])
- return r
+ @type the_list: list
+ @param the_list: the use flags to get defaulted ones from.
+ @rtype: dict of lists
+ @return defaulted USE flags {'+': [...], '-': [...]}
+ """
+ r = {"+": [], "-": []}
+ for member in the_list:
+ if member[0] in ["+", "-"]:
+ r[member[0]].append(member[1:])
+ return r
def filter_flags(use, use_expand_hidden, usemasked, useforced):
- """Filter function to remove hidden or otherwise not normally
- visible USE flags from a list.
-
- @type use: list
- @param use: the USE flag list to be filtered.
- @type use_expand_hidden: list
- @param use_expand_hidden: list of flags hidden.
- @type usemasked: list
- @param usemasked: list of masked USE flags.
- @type useforced: list
- @param useforced: the forced USE flags.
- @rtype: list
- @return the filtered USE flags.
- """
- # clean out some environment flags, since they will most probably
- # be confusing for the user
- use = dict((reduce_flag(flag), flag) for flag in use)
- for f in use_expand_hidden:
- f=f.lower() + "_"
- for x in list(use):
- if x.startswith(f):
- del use[x]
- # clean out any arch's
- archlist = portage.settings["PORTAGE_ARCHLIST"].split()
- for a in archlist:
- use.pop(a, None)
- # dbl check if any from usemasked or useforced are still there
- masked = usemasked + useforced
- for a in masked:
- use.pop(a, None)
- return list(use.values())
+ """Filter function to remove hidden or otherwise not normally
+ visible USE flags from a list.
+
+ @type use: list
+ @param use: the USE flag list to be filtered.
+ @type use_expand_hidden: list
+ @param use_expand_hidden: list of flags hidden.
+ @type usemasked: list
+ @param usemasked: list of masked USE flags.
+ @type useforced: list
+ @param useforced: the forced USE flags.
+ @rtype: list
+ @return the filtered USE flags.
+ """
+ # clean out some environment flags, since they will most probably
+ # be confusing for the user
+ use = dict((reduce_flag(flag), flag) for flag in use)
+ for f in use_expand_hidden:
+ f = f.lower() + "_"
+ for x in list(use):
+ if x.startswith(f):
+ del use[x]
+ # clean out any arch's
+ archlist = portage.settings["PORTAGE_ARCHLIST"].split()
+ for a in archlist:
+ use.pop(a, None)
+ # dbl check if any from usemasked or useforced are still there
+ masked = usemasked + useforced
+ for a in masked:
+ use.pop(a, None)
+ return list(use.values())
def get_all_cpv_use(cpv):
- """Uses portage to determine final USE flags and settings for an emerge
-
- @type cpv: string
- @param cpv: eg cat/pkg-ver
- @rtype: lists
- @return use, use_expand_hidden, usemask, useforce
- """
- use = None
- portage.db[portage.root]["porttree"].dbapi.settings.unlock()
- try:
- portage.db[portage.root]["porttree"].dbapi.settings.setcpv(cpv, mydb=portage.portdb)
- use = portage.settings['PORTAGE_USE'].split()
- use_expand_hidden = portage.settings["USE_EXPAND_HIDDEN"].split()
- usemask = list(portage.db[portage.root]["porttree"].dbapi.settings.usemask)
- useforce = list(portage.db[portage.root]["porttree"].dbapi.settings.useforce)
- except KeyError:
- portage.db[portage.root]["porttree"].dbapi.settings.reset()
- portage.db[portage.root]["porttree"].dbapi.settings.lock()
- return [], [], [], []
- # reset cpv filter
- portage.db[portage.root]["porttree"].dbapi.settings.reset()
- portage.db[portage.root]["porttree"].dbapi.settings.lock()
- return use, use_expand_hidden, usemask, useforce
+ """Uses portage to determine final USE flags and settings for an emerge
+
+ @type cpv: string
+ @param cpv: eg cat/pkg-ver
+ @rtype: lists
+ @return use, use_expand_hidden, usemask, useforce
+ """
+ use = None
+ portage.db[portage.root]["porttree"].dbapi.settings.unlock()
+ try:
+ portage.db[portage.root]["porttree"].dbapi.settings.setcpv(
+ cpv, mydb=portage.portdb
+ )
+ use = portage.settings["PORTAGE_USE"].split()
+ use_expand_hidden = portage.settings["USE_EXPAND_HIDDEN"].split()
+ usemask = list(portage.db[portage.root]["porttree"].dbapi.settings.usemask)
+ useforce = list(portage.db[portage.root]["porttree"].dbapi.settings.useforce)
+ except KeyError:
+ portage.db[portage.root]["porttree"].dbapi.settings.reset()
+ portage.db[portage.root]["porttree"].dbapi.settings.lock()
+ return [], [], [], []
+ # reset cpv filter
+ portage.db[portage.root]["porttree"].dbapi.settings.reset()
+ portage.db[portage.root]["porttree"].dbapi.settings.lock()
+ return use, use_expand_hidden, usemask, useforce
def get_flags(cpv, final_setting=False):
- """Retrieves all information needed to filter out hidded, masked, etc.
- USE flags for a given package.
-
- @type cpv: string
- @param cpv: eg. cat/pkg-ver
- @type final_setting: boolean
- @param final_setting: used to also determine the final
- enviroment USE flag settings and return them as well.
- @rtype: list or list, list
- @return IUSE or IUSE, final_flags
- """
- final_use, use_expand_hidden, usemasked, useforced = get_all_cpv_use(cpv)
- iuse_flags = filter_flags(get_iuse(cpv), use_expand_hidden, usemasked, useforced)
- if final_setting:
- final_flags = filter_flags(final_use, use_expand_hidden, usemasked, useforced)
- return iuse_flags, final_flags
- return iuse_flags
+ """Retrieves all information needed to filter out hidded, masked, etc.
+ USE flags for a given package.
+
+ @type cpv: string
+ @param cpv: eg. cat/pkg-ver
+ @type final_setting: boolean
+ @param final_setting: used to also determine the final
+ enviroment USE flag settings and return them as well.
+ @rtype: list or list, list
+ @return IUSE or IUSE, final_flags
+ """
+ final_use, use_expand_hidden, usemasked, useforced = get_all_cpv_use(cpv)
+ iuse_flags = filter_flags(get_iuse(cpv), use_expand_hidden, usemasked, useforced)
+ if final_setting:
+ final_flags = filter_flags(final_use, use_expand_hidden, usemasked, useforced)
+ return iuse_flags, final_flags
+ return iuse_flags