From: "Jauhien Piatlicki" <piatlicki@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/g-sorcery:master commit in: g_sorcery/
Date: Wed, 31 Jul 2013 23:29:31 +0000 (UTC) [thread overview]
Message-ID: <1375313363.e21df5236b0ffa8c8cf14e41c5a3da241d883ba4.jauhien@gentoo> (raw)
commit: e21df5236b0ffa8c8cf14e41c5a3da241d883ba4
Author: Jauhien Piatlicki (jauhien) <piatlicki <AT> gmail <DOT> com>
AuthorDate: Wed Jul 31 23:29:23 2013 +0000
Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com>
CommitDate: Wed Jul 31 23:29:23 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=e21df523
g_sorcery/backend: Docstrings
---
g_sorcery/backend.py | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 130 insertions(+)
diff --git a/g_sorcery/backend.py b/g_sorcery/backend.py
index 97c36ce..e38eba7 100644
--- a/g_sorcery/backend.py
+++ b/g_sorcery/backend.py
@@ -87,6 +87,17 @@ class Backend(object):
self.logger = Logger()
def _get_overlay(self, args, config, global_config):
+ """
+ Get an overlay directory.
+
+ Args:
+ args: Command line arguments.
+ config: Backend config.
+ global_config: g-sorcery config.
+
+ Returns:
+ Overlay directory.
+ """
overlay = args.overlay
if not overlay:
if not 'default_overlay' in config:
@@ -98,6 +109,17 @@ class Backend(object):
return overlay
def _get_package_db(self, args, config, global_config):
+ """
+ Get package database object.
+
+ Args:
+ args: Command line arguments.
+ config: Backend config.
+ global_config: g-sorcery config.
+
+ Returns:
+ Package database object.
+ """
overlay = self._get_overlay(args, config, global_config)
backend_path = os.path.join(overlay, self.sorcery_dir, config["package"])
repository = args.repository
@@ -105,6 +127,17 @@ class Backend(object):
return pkg_db
def sync(self, args, config, global_config):
+ """
+ Synchronize or generate local database.
+
+ Args:
+ args: Command line arguments.
+ config: Backend config.
+ global_config: g-sorcery config.
+
+ Returns:
+ Exit status.
+ """
overlay = self._get_overlay(args, config, global_config)
backend_path = os.path.join(overlay, self.sorcery_dir, config["package"])
repository = args.repository
@@ -139,6 +172,17 @@ class Backend(object):
return 0
def list(self, args, config, global_config):
+ """
+ List all available packages.
+
+ Args:
+ args: Command line arguments.
+ config: Backend config.
+ global_config: g-sorcery config.
+
+ Returns:
+ Exit status.
+ """
pkg_db = self._get_package_db(args, config, global_config)
pkg_db.read()
try:
@@ -160,6 +204,17 @@ class Backend(object):
return 0
def generate(self, args, config, global_config):
+ """
+ Generate ebuilds for a given package and all its dependecies.
+
+ Args:
+ args: Command line arguments.
+ config: Backend config.
+ global_config: g-sorcery config.
+
+ Returns:
+ Exit status.
+ """
overlay = self._get_overlay(args, config, global_config)
pkg_db = self._get_package_db(args, config, global_config)
pkg_db.read()
@@ -218,6 +273,16 @@ class Backend(object):
return 0
def generate_ebuilds(self, package_db, overlay, packages, digest=False):
+ """
+ Generate ebuilds for given packages.
+
+ Args:
+ package_db: Package database
+ overlay: Overlay directory.
+ packages: List of packages.
+ digest: whether sources should be digested in Manifest.
+ """
+
self.logger.info("ebuild generation")
if digest:
ebuild_g = self.ebuild_g_with_digest_class(package_db)
@@ -237,6 +302,14 @@ class Backend(object):
def generate_metadatas(self, package_db, overlay, packages):
+ """
+ Generate metada files for given packages.
+
+ Args:
+ package_db: Package database
+ overlay: Overlay directory.
+ packages: List of packages.
+ """
self.logger.info("metadata generation")
metadata_g = self.metadata_g_class(package_db)
for package in packages:
@@ -248,6 +321,13 @@ class Backend(object):
f.write('\n'.join(source))
def generate_eclasses(self, overlay, eclasses):
+ """
+ Generate given eclasses.
+
+ Args:
+ overlay: Overlay directory.
+ eclasses: List of eclasses.
+ """
self.logger.info("eclasses generation")
eclass_g = self.eclass_g_class()
path = os.path.join(overlay, 'eclass')
@@ -261,6 +341,21 @@ class Backend(object):
def solve_dependencies(self, package_db, package, solved_deps=None, unsolved_deps=None):
+ """
+ Solve dependencies.
+
+ Args:
+ package_db: Package database.
+ package: A package we want to solve dependencies for.
+ solved_deps: List of solved dependencies.
+ unsolved_deps: List of dependencies to be solved.
+
+ Returns:
+ A pair (solved_deps, unsolved_deps).
+
+ Note:
+ Each dependency is an object of class g_collections.Dependency.
+ """
if not solved_deps:
solved_deps = set()
if not unsolved_deps:
@@ -297,6 +392,12 @@ class Backend(object):
def digest(self, overlay):
+ """
+ Digest an overlay using repoman.
+
+ Args:
+ overlay: Overlay directory.
+ """
self.logger.info("digesting overlay")
prev = os.getcwd()
os.chdir(overlay)
@@ -305,12 +406,30 @@ class Backend(object):
os.chdir(prev)
def fast_digest(self, overlay, pkgnames):
+ """
+ Digest an overlay using custom method faster than repoman.
+
+ Args:
+ overlay: Overlay directory.
+ pkgnames: List of full package names (category/package).
+ """
self.logger.info("fast digesting overlay")
for pkgname in pkgnames:
directory = os.path.join(overlay, pkgname)
fast_manifest(directory)
def generate_tree(self, args, config, global_config):
+ """
+ Generate entire overlay.
+
+ Args:
+ args: Command line arguments.
+ config: Backend config.
+ global_config: g-sorcery config.
+
+ Returns:
+ Exit status.
+ """
self.logger.info("tree generation")
overlay = self._get_overlay(args, config, global_config)
pkg_db = self._get_package_db(args, config, global_config)
@@ -360,6 +479,17 @@ class Backend(object):
self.fast_digest(overlay, pkgnames)
def install(self, args, config, global_config):
+ """
+ Install a package.
+
+ Args:
+ args: Command line arguments.
+ config: Backend config.
+ global_config: g-sorcery config.
+
+ Returns:
+ Exit status.
+ """
self.generate(args, config, global_config)
try:
package_manager = global_config.get("main", "package_manager")
next reply other threads:[~2013-07-31 23:29 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-31 23:29 Jauhien Piatlicki [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-02-24 18:02 [gentoo-commits] proj/g-sorcery:master commit in: g_sorcery/ Ulrich Müller
2015-08-18 18:59 Jauhien Piatlicki
2015-08-18 10:41 [gentoo-commits] proj/g-sorcery:dev " Jauhien Piatlicki
2015-08-18 10:42 ` [gentoo-commits] proj/g-sorcery:master " Jauhien Piatlicki
2015-04-22 7:35 Jauhien Piatlicki
2015-04-20 21:36 [gentoo-commits] proj/g-sorcery:dev " Jauhien Piatlicki
2015-04-22 7:35 ` [gentoo-commits] proj/g-sorcery:master " Jauhien Piatlicki
2014-11-24 14:25 [gentoo-commits] proj/g-sorcery:dev " Jauhien Piatlicki
2014-11-24 14:25 ` [gentoo-commits] proj/g-sorcery:master " Jauhien Piatlicki
2013-09-20 15:09 Jauhien Piatlicki
2013-09-19 23:21 Jauhien Piatlicki
2013-09-18 22:09 Jauhien Piatlicki
2013-09-16 15:05 Jauhien Piatlicki
2013-09-16 14:33 Jauhien Piatlicki
2013-09-16 14:33 Jauhien Piatlicki
2013-09-15 22:38 Jauhien Piatlicki
2013-09-15 18:08 Jauhien Piatlicki
2013-09-15 17:46 Jauhien Piatlicki
2013-09-15 17:46 Jauhien Piatlicki
2013-09-05 21:29 Jauhien Piatlicki
2013-09-04 23:52 Jauhien Piatlicki
2013-09-04 18:14 Jauhien Piatlicki
2013-09-04 18:03 Jauhien Piatlicki
2013-09-04 18:03 Jauhien Piatlicki
2013-09-04 13:37 Jauhien Piatlicki
2013-09-01 22:12 Jauhien Piatlicki
2013-08-12 0:36 Jauhien Piatlicki
2013-08-02 10:18 Jauhien Piatlicki
2013-08-01 15:58 Jauhien Piatlicki
2013-08-01 15:58 Jauhien Piatlicki
2013-08-01 15:58 Jauhien Piatlicki
2013-08-01 15:58 Jauhien Piatlicki
2013-08-01 15:58 Jauhien Piatlicki
2013-08-01 15:58 Jauhien Piatlicki
2013-08-01 12:55 Jauhien Piatlicki
2013-08-01 12:39 Jauhien Piatlicki
2013-08-01 12:39 Jauhien Piatlicki
2013-08-01 12:39 Jauhien Piatlicki
2013-08-01 12:39 Jauhien Piatlicki
2013-08-01 12:39 Jauhien Piatlicki
2013-08-01 12:39 Jauhien Piatlicki
2013-08-01 12:39 Jauhien Piatlicki
2013-08-01 12:39 Jauhien Piatlicki
2013-07-23 23:13 Jauhien Piatlicki
2013-07-23 23:13 Jauhien Piatlicki
2013-07-19 14:44 Jauhien Piatlicki
2013-07-19 11:10 Jauhien Piatlicki
2013-07-18 17:26 Jauhien Piatlicki
2013-07-18 12:18 Jauhien Piatlicki
2013-07-18 12:18 Jauhien Piatlicki
2013-07-18 10:53 Jauhien Piatlicki
2013-07-17 17:05 Jauhien Piatlicki
2013-07-17 8:06 Jauhien Piatlicki
2013-07-16 23:09 Jauhien Piatlicki
2013-07-16 23:09 Jauhien Piatlicki
2013-07-15 17:20 Jauhien Piatlicki
2013-07-15 16:33 Jauhien Piatlicki
2013-07-15 0:18 Jauhien Piatlicki
2013-07-14 23:47 Jauhien Piatlicki
2013-07-13 23:35 Jauhien Piatlicki
2013-07-13 22:22 Jauhien Piatlicki
2013-07-13 15:12 Jauhien Piatlicki
2013-07-13 15:12 Jauhien Piatlicki
2013-07-04 20:24 Jauhien Piatlicki
2013-07-03 23:49 Jauhien Piatlicki
2013-07-03 23:49 Jauhien Piatlicki
2013-07-03 23:32 Jauhien Piatlicki
2013-07-03 22:54 Jauhien Piatlicki
2013-07-03 22:54 Jauhien Piatlicki
2013-07-03 22:54 Jauhien Piatlicki
2013-07-03 22:54 Jauhien Piatlicki
2013-07-03 22:54 Jauhien Piatlicki
2013-07-02 17:30 Jauhien Piatlicki
2013-07-02 12:39 Jauhien Piatlicki
2013-07-02 8:39 Jauhien Piatlicki
2013-07-01 0:07 Jauhien Piatlicki
2013-06-30 23:29 Jauhien Piatlicki
2013-06-29 14:16 Jauhien Piatlicki
2013-06-29 12:13 Jauhien Piatlicki
2013-06-29 12:13 Jauhien Piatlicki
2013-06-24 21:09 Jauhien Piatlicki
2013-06-24 21:09 Jauhien Piatlicki
2013-06-23 0:44 Jauhien Piatlicki
2013-06-23 0:44 Jauhien Piatlicki
2013-06-23 0:44 Jauhien Piatlicki
2013-06-20 23:44 Jauhien Piatlicki
2013-06-20 23:21 Jauhien Piatlicki
2013-06-20 22:53 Jauhien Piatlicki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1375313363.e21df5236b0ffa8c8cf14e41c5a3da241d883ba4.jauhien@gentoo \
--to=piatlicki@gmail.com \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox