Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

v2.1.2.2: documentation fixes

Signed-off-by: Kwpolska <kwpolska@gmail.com>
  • Loading branch information...
commit beb43c45199c8f3400f385c019bb2c3fd5f9ab2b 1 parent d94787d
@Kwpolska authored
Showing with 2,671 additions and 335 deletions.
  1. +11 −0 MANIFEST
  2. +1 −0  MANIFEST.in
  3. +12 −0 PACMAN-UPGRADE
  4. +2 −2 PKGBUILD
  5. +2 −2 README.rst
  6. +0 −1  Rakefile
  7. BIN  dist/pkgbuilder-2.1.2.2.tar.gz
  8. +2 −2 docs/LICENSE.rst
  9. +2 −2 docs/README.rst
  10. BIN  docs/_build/doctrees/LICENSE.doctree
  11. BIN  docs/_build/doctrees/README.doctree
  12. BIN  docs/_build/doctrees/classes.doctree
  13. BIN  docs/_build/doctrees/environment.pickle
  14. BIN  docs/_build/doctrees/index.doctree
  15. BIN  docs/_build/doctrees/messagecodes.doctree
  16. BIN  docs/_build/doctrees/pkgbuilder.doctree
  17. +393 −0 docs/classes.rst
  18. +2 −2 docs/conf.py
  19. BIN  docs/docs-pkgbuilder.zip
  20. +1 −1  docs/html/.buildinfo
  21. +21 −15 docs/html/LICENSE/index.html
  22. +37 −31 docs/html/README/index.html
  23. +84 −0 docs/html/_modules/index.html
  24. +81 −0 docs/html/_sources/AUR.txt
  25. +70 −0 docs/html/_sources/Build.txt
  26. +2 −2 docs/html/_sources/LICENSE.txt
  27. +73 −0 docs/html/_sources/PBDS.txt
  28. +2 −2 docs/html/_sources/README.txt
  29. +69 −0 docs/html/_sources/Utils.txt
  30. +393 −0 docs/html/_sources/classes.txt
  31. +9 −8 docs/html/_sources/index.txt
  32. +2 −2 docs/html/_sources/messagecodes.txt
  33. +2 −6 docs/html/_sources/pkgbuilder.txt
  34. +811 −0 docs/html/classes/index.html
  35. +69 −24 docs/html/index.html
  36. +36 −30 docs/html/messagecodes/index.html
  37. BIN  docs/html/objects.inv
  38. +41 −41 docs/html/pkgbuilder/index.html
  39. +106 −0 docs/html/py-modindex/index.html
  40. +12 −6 docs/html/search/index.html
  41. +1 −1  docs/html/searchindex.js
  42. +9 −8 docs/index.rst
  43. +2 −2 docs/messagecodes.rst
  44. BIN  docs/pkgbuilder.8.gz
  45. +2 −6 docs/pkgbuilder.rst
  46. +308 −138 pkgbuilder.py
  47. +1 −1  setup.py
View
11 MANIFEST
@@ -1,12 +1,14 @@
# file GENERATED by distutils, do NOT edit
INSTALL.py
LICENSE
+PACMAN-UPGRADE
README
README.rst
pkgbuilder.py
setup.py
docs/LICENSE.rst
docs/README.rst
+docs/classes.rst
docs/conf.py
docs/docs-pkgbuilder.zip
docs/index.rst
@@ -15,6 +17,7 @@ docs/pkgbuilder.8.gz
docs/pkgbuilder.rst
docs/_build/doctrees/LICENSE.doctree
docs/_build/doctrees/README.doctree
+docs/_build/doctrees/classes.doctree
docs/_build/doctrees/environment.pickle
docs/_build/doctrees/index.doctree
docs/_build/doctrees/messagecodes.doctree
@@ -25,8 +28,14 @@ docs/html/objects.inv
docs/html/searchindex.js
docs/html/LICENSE/index.html
docs/html/README/index.html
+docs/html/_modules/index.html
+docs/html/_sources/AUR.txt
+docs/html/_sources/Build.txt
docs/html/_sources/LICENSE.txt
+docs/html/_sources/PBDS.txt
docs/html/_sources/README.txt
+docs/html/_sources/Utils.txt
+docs/html/_sources/classes.txt
docs/html/_sources/index.txt
docs/html/_sources/messagecodes.txt
docs/html/_sources/pkgbuilder.txt
@@ -41,8 +50,10 @@ docs/html/_static/pygments.css
docs/html/_static/searchtools.js
docs/html/_static/sidebar.js
docs/html/_static/underscore.js
+docs/html/classes/index.html
docs/html/messagecodes/index.html
docs/html/pkgbuilder/index.html
+docs/html/py-modindex/index.html
docs/html/search/index.html
locale/en/LC_MESSAGES/pkgbuilder.mo
locale/pl/LC_MESSAGES/pkgbuilder.mo
View
1  MANIFEST.in
@@ -2,6 +2,7 @@ include INSTALL.py
include LICENSE
include README.rst
include TODO.rst
+include PACMAN-UPGRADE
recursive-include docs *
recursive-include scripts *
recursive-include locale *.mo
View
12 PACMAN-UPGRADE
@@ -0,0 +1,12 @@
+There are two versions of PB available now: the current version
+from the 2.1.2.x series and the legacy version, 2.1.1.10. The
+current version is compatible with pacman 4.0 and pyalpm 0.5.
+The legacy version works with older pacmans, namely 3.6.
+
+The current version is here:
+ http://aur.archlinux.org/packages.php?ID=52542
+ http://pypi.python.org/pypi/pkgbuilder
+
+The legacy one is here:
+ http://github.kwpolska.tk/pkgbuilder-2.1.1.10_UNOFFICIAL_LEGACY-1-any.pkg.tar.xz
+ http://github.kwpolska.tk/pkgbuilder-2.1.1.10_UNOFFICIAL_LEGACY-1.src.tar.gz
View
4 PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: Kwpolska <kwpolska@kwpolska.tk>
pkgname=pkgbuilder
-pkgver=2.1.2.1
+pkgver=2.1.2.2
pkgrel=1
pkgdesc="A basic Python AUR helper/library."
arch=('any')
@@ -9,7 +9,7 @@ license=('BSD')
depends=('python' 'pyalpm>=0.5.1-1' 'python-pyparsing' 'pacman>=4.0.0-1')
options=(!emptydirs)
source=("http://pypi.python.org/packages/source/p/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('0f790496c4905aba5999b867eb23c820')
+md5sums=('fcfde418c55c4cab82b24874c73bf11e')
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
View
4 README.rst
@@ -3,8 +3,8 @@ README for PKGBUILDer
=====================
:Info: This is the README file for PKGBUILDer.
:Author: Kwpolska <kwpolska@kwpolska.tk>
-:Date: 2011-10-14
-:Version: 2.1.2.1
+:Date: 2011-10-15
+:Version: 2.1.2.2
PKGBUILDer. A Python AUR helper/library.
=========================================
View
1  Rakefile
@@ -34,7 +34,6 @@ task :prepare, :ver do |t, args|
sh "sed \"s/BUILDer .* do/BUILDer #{version} do/\" docs/index.rst -i"
sh "sed \"s/# PKG.*/# PKGBUILDer v#{version}/\" pkgbuilder.py -i"
sh "sed \"s/VERSION = .*/VERSION = '#{version}'/\" pkgbuilder.py -i"
- sh "sed \"s/Version .*/Version #{version}/\" pkgbuilder.py -i"
sh "sed \"s/pkgver=.*/pkgver=#{version}/\" PKGBUILD -i"
sh "sed \"s/:Date: .*/:Date: #{date}/\" docs/*.rst -i"
View
BIN  dist/pkgbuilder-2.1.2.2.tar.gz
Binary file not shown
View
4 docs/LICENSE.rst
@@ -3,8 +3,8 @@ Appendix B. License for PKGBUILDer
==================================
:Info: This is an appendix to the PKGBUILDer documentation.
:Author: Kwpolska <kwpolska@kwpolska.tk>
-:Date: 2011-10-14
-:Version: 2.1.2.1
+:Date: 2011-10-15
+:Version: 2.1.2.2
Copyright (C) 2011, Kwpolska
All rights reserved.
View
4 docs/README.rst
@@ -3,8 +3,8 @@ README for PKGBUILDer
=====================
:Info: This is the README file for PKGBUILDer.
:Author: Kwpolska <kwpolska@kwpolska.tk>
-:Date: 2011-10-14
-:Version: 2.1.2.1
+:Date: 2011-10-15
+:Version: 2.1.2.2
PKGBUILDer. A Python AUR helper/library.
=========================================
View
BIN  docs/_build/doctrees/LICENSE.doctree
Binary file not shown
View
BIN  docs/_build/doctrees/README.doctree
Binary file not shown
View
BIN  docs/_build/doctrees/classes.doctree
Binary file not shown
View
BIN  docs/_build/doctrees/environment.pickle
Binary file not shown
View
BIN  docs/_build/doctrees/index.doctree
Binary file not shown
View
BIN  docs/_build/doctrees/messagecodes.doctree
Binary file not shown
View
BIN  docs/_build/doctrees/pkgbuilder.doctree
Binary file not shown
View
393 docs/classes.rst
@@ -0,0 +1,393 @@
+*****
+title
+*****
+
+:Author: Kwpolska
+:Copyright: See Appendix B.
+:Date: 2011-10-15
+:Version: 2.1.2.2
+
+.. index:: classes
+.. module:: PKGBUILDer
+ :synopsis: a Python AUR helper/library
+
+some introductory text
+
+PBDS
+====
+
+.. index:: PBDS; DS; Data Storage
+.. versionadded:: 2.1.0.0
+.. class:: PBDS
+
+:Arguments: none.
+
+This is the class used for storing data. Currently, it stores this
+information:
+
++-----------+---------------------------------------+-------------------+
+| variable | contents/usage | default |
++===========+=======================================+===================+
+| colors | colors currently used in the script | [colors]_ |
++-----------+---------------------------------------+-------------------+
+| pacman | using wrapper-friendly behavior[beh]? | False |
++-----------+---------------------------------------+-------------------+
+| validate | validating package installation? | True |
++-----------+---------------------------------------+-------------------+
+| depcheck | checking if deps are installed? | True |
++-----------+---------------------------------------+-------------------+
+
+
+.. [beh] *wrapper-friendly behavior* (-S): building in /tmp;
+ :meth:`Utils.print_package` says aur/name
+
+.. [colors] Code below.
+
+::
+
+ self.colors = {
+ 'all_off': '\x1b[1;0m',
+ 'bold': '\x1b[1;1m',
+ 'blue': '\x1b[1;1m\x1b[1;34m',
+ 'green': '\x1b[1;1m\x1b[1;32m',
+ 'red': '\x1b[1;1m\x1b[1;31m',
+ 'yellow': '\x1b[1;1m\x1b[1;33m'
+ }
+
+
+It also has two methods:
+
+.. method:: colorson()
+
+:Arguments: none.
+:Input: none.
+:Output: none.
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+
+Turns colors on.
+
+.. method:: colorsoff().
+
+:Arguments: none.
+:Input: none.
+:Output: none.
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+
+Turns colors off.
+
+
+AUR
+===
+
+.. index:: AUR; API; RPC
+.. versionadded:: 2.1.0.0
+.. class:: AUR
+
+:Arguments: none.
+
+This is the class used for calling the AUR API. It defines four methods:
+
+
+.. method:: request(rtype, arg[, prot])
+.. index:: request
+
+:Arguments: request type, argument (package name), protocol.
+:Input: none.
+:Output: none.
+:Returns: data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a request and returns data. Valid types of requests are listed on
+the `AUR API's page`_. Currently tested and working ones are:
+
++-------------+-----------------------------------+
++ name | purpose |
++=============+===================================+
+| info | get info about `arg` |
++-------------+-----------------------------------+
+| search | search for `arg` in the AUR |
++-------------+-----------------------------------+
+| maintsearch | show packages maintained by `arg` |
++-------------+-----------------------------------+
+
+multiinfo is implemented in another function, :meth:`multiinfo()`.
+
+.. _`AUR API's page`: http://aur.archlinux.org/rpc.php
+
+.. method:: multiinfo(args[, prot])
+.. index:: multiinfo
+
+:Arguments: a list of packages, protocol.
+:Input: none.
+:Output: none.
+:Returns: data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a multiinfo request. A multiinfo request can retrieve information
+for multiple packages.
+
+.. method:: jsonreq(rtype, arg[, prot])
+
+:Arguments: request type, argument (package name), protocol.
+:Input: none.
+:Output: none.
+:Returns: JSON data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a :meth:`request()`, but returns plain JSON data. Valid values of
+`rtype` are listed in :meth:`request()`'s documentation.
+
+.. method:: jsonmultiinfo(args[, prot])
+
+:Arguments: a list of packages, protocol.
+:Input: none.
+:Output: none.
+:Returns: JSON data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a :meth:`multiinfo()` request, but returns plain JSON data.
+
+Utils
+=====
+
+.. index:: Utils; Utilities
+.. versionadded:: 2.1.0.0
+.. class:: Utils
+
+:Arguments: none.
+
+This is the class with many random utilities. It defines three methods:
+
+
+.. method:: info(pkgname)
+.. index:: info
+
+:Arguments: package name.
+:Input: none.
+:Output: none.
+:Returns: a dict OR None.
+:Exceptions: none.
+:Message codes: none.
+:Former data:
+ 2.1.2.1 Returns: a dict OR False.
+
+ 2.0 Returns: aur_pkgs, list->dict, not null.
+
+ 2.0 Behavior: exception and quit when not found."
+
+Returns information about a package. Almost equivalent to
+:meth:`AUR.request('info', pkgname)`, but returns **`None`** if the package
+doesn't exist.
+
+.. method:: search(pkgname)
+.. index:: search
+
+:Arguments: package name.
+:Input: none.
+:Output: none.
+:Returns: a list.
+:Exceptions: none.
+:Message codes: none.
+
+Searches for AUR packages and returns them as a list. Almost equivalent
+to :meth:`AUR.request('search', pkgname)`, but returns **`[]`** if no
+packages were found.
+
+.. method:: print_package(pkg[, use_categories][, prefix])
+.. index:: print
+
+:Arguments: package name, use categories, line prefix.
+:Input: none.
+:Output:
+ ::
+ prefix category/name version (num votes) [installed: version] [out of date]
+ prefix description
+
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+:Former data:
+ 2.0 Name: showInfo.
+
+Prints data about `pkg`. Format specified above, in the Output field.
+
+Build
+======
+
+.. index:: Build; makepkg
+.. versionadded:: 2.1.0.0
+.. class:: Build
+
+:Arguments: none.
+
+This is the class for building packages. It defines two base methods and
+four additional ones.
+
+.. method:: auto_build(pkgname[, validate][, depcheck])
+.. index:: makepkg; build
+
+:Arguments: package name, validate installation, perform dependency checks.
+:Input: none.
+:Output: text.
+:Returns: nothing.
+:Exceptions: PBError.
+:Message codes:
+ ERR3301, ERR34?? (ERR3401, ERR3450, ERR3451, ERR3452), INF3450.
+:Former data:
+ 2.0 Name: build.
+
+This is a function that handles building packages automatically. This is
+the recommended way of building packages through PKGBUILDer.
+
+.. method:: build_runner(pkgname[, depcheck])
+.. index:: makepkg; build; validate
+
+:Arguments: package, perform dependency checks.
+:Input: none.
+:Output: text.
+:Returns: ::
+
+ [makepkg's retcode OR 3 if fails OR 16 if needs an AUR dep,
+ [AUR deps or error source]]
+
+:Exceptions: PBError.
+:Message codes: ERR3001, ERR3201, ERR3202.
+:Former data:
+ 2.0 Behavior: all functions inside
+
+ 2.0 Name: buildSub
+
+This is the function running building. It is not supposed to be used
+standalone, because it is embedded by :meth:`auto_build()`.
+
+.. note::
+
+ The return codes of this function work bad. Using :meth:`auto_build()`
+ eliminates this problem.
+
+.. method:: download(urlpath, filename[, prot])
+
+:Arguments: URL, filename for saving, protocol.
+:Input: none.
+:Output: none.
+:Returns: bytes downloaded.
+:Exceptions:
+ PBError, IOError,
+ urllib.error.URLError, urllib.error.HTTPError
+:Message codes: ERR3101.
+
+Downloads an AUR tarball. Data normally provided by :meth:`build_runner()`.
+
+.. method:: extract(filename)
+
+:Arguments: filename.
+:Input: none.
+:Output: none.
+:Returns: file count.
+:Exceptions: PBError, IOError.
+:Message codes: ERR3151.
+
+Extracts an AUR tarball. Data normally provided by :meth:`build_runner()`.
+
+.. method:: prepare_deps(pkgbuild)
+.. index:: depcheck, dependency
+
+:Arguments: PKGBUILD contents
+:Input: none.
+:Output: none.
+:Returns:
+ a list with entries from PKGBUILD's depends and makedepends
+ (can be empty.)
+:Exceptions: IOError.
+:Message codes: none.
+
+Gets (make)depends from a PKGBUILD and returns them.
+
+.. note::
+ `pkgbuild` is a string, not a file handle.
+
+.. method:: depcheck(depends)
+.. index:: depcheck, dependency
+
+:Arguments: a python dependency list.
+:Input: none.
+:Output: none.
+:Returns:
+ a dict, key is the package name, and value is: -1 = nowhere, 0 = system,
+ 1 = repos, 2 = AUR.
+:Exceptions: PBError.
+:Message codes: ERR3201.
+:Suggested way of handling:
+ ::
+ >>> types = ['system', 'repos', 'aur']
+ >>> for pkg, pkgtype in depcheck([...]).items():
+ ... print('{0}: found in {1}'.format(pkg, types[pkgtype])
+ ... if pkgtype == 2: #AUR
+ ... #build pkg here
+
+:Former data:
+ 2.0 Returns: no -1
+
+Performs a dependency check. Data normally provided by
+:meth:`prepare_deps()`.
+
+.. TODO
+
+Upgrade
+=======
+
+.. index:: Upgrade; Update; Syu
+.. versionadded:: 2.1.0.0
+.. class:: Upgrade
+
+:Arguments: none.
+
+This is the class for upgrading the installed packages. It defines one base
+method and two additional ones.
+
+.. method:: auto_upgrade()
+.. index:: upgrade
+
+:Arguments: none.
+:Input: user interaction.
+:Output: text.
+:Returns: 0 or nothing.
+:Exceptions: none.
+:Message codes: none.
+:Notice: things break here A LOT.
+
+Upgrades packages. Simillar to :meth:`Build.auto_build()`.
+
+.. method:: gather_foreign_packages()
+.. index:: foreign
+
+:Arguments: none.
+:Input: none.
+:Output: none.
+:Returns: foreign packages.
+:Exceptions: none.
+:Message codes: none.
+
+Gathers a list of all foreign packages.
+
+.. method:: list_upgradeable(pkglist)
+
+:Arguments: a package list.
+:Input:
+ a list of packages to be compared.
+
+ suggestion: self.gather_foreign_pkgs().keys()
+:Output: none.
+:Returns: upgradeable packages.
+:Exceptions: none.
+:Message codes: none.
+
+Compares package versions and returns upgradeable ones.
View
4 docs/conf.py
@@ -25,7 +25,7 @@
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.ifconfig'] #, 'sphinx.ext.viewcode']
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.ifconfig', 'sphinx.ext.viewcode', 'sphinx.ext.coverage']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@@ -50,7 +50,7 @@
# The short X.Y version.
version = '2.1'
# The full version, including alpha/beta/rc tags.
-release = '2.1.2.1'
+release = '2.1.2.2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
View
BIN  docs/docs-pkgbuilder.zip
Binary file not shown
View
2  docs/html/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 69984492ac1b03348441302991489f96
+config: dd4a0e747ba80f25ecdfe7485536e938
tags: fbb0d17656682115ca4d033fb2f83ba1
View
36 docs/html/LICENSE/index.html
@@ -7,13 +7,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Appendix B. License for PKGBUILDer &mdash; PKGBUILDer v2.1.2.1 documentation</title>
+ <title>5. Appendix B. License for PKGBUILDer &mdash; PKGBUILDer v2.1.2.2 documentation</title>
<link rel="stylesheet" href="../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
- VERSION: '2.1.2.1',
+ VERSION: '2.1.2.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '',
HAS_SOURCE: true
@@ -22,17 +22,20 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <link rel="top" title="PKGBUILDer v2.1.2.1 documentation" href="../" />
- <link rel="prev" title="Appendix A. PKGBUILDer message numbers list" href="../messagecodes/" />
+ <link rel="top" title="PKGBUILDer v2.1.2.2 documentation" href="../" />
+ <link rel="prev" title="4. Appendix A. PKGBUILDer message numbers list" href="../messagecodes/" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
- <a href="../messagecodes/" title="Appendix A. PKGBUILDer message numbers list"
- accesskey="P">previous</a></li>
- <li><a href="../">PKGBUILDer v2.1.2.1 documentation</a> &raquo;</li>
+ <a href="../py-modindex/" title="Python Module Index"
+ >modules</a></li>
+ <li class="right" >
+ <a href="../messagecodes/" title="4. Appendix A. PKGBUILDer message numbers list"
+ accesskey="P">previous</a> |</li>
+ <li><a href="../">PKGBUILDer v2.1.2.2 documentation</a> &raquo;</li>
</ul>
</div>
@@ -42,7 +45,7 @@
<div class="body">
<div class="section" id="appendix-b-license-for-pkgbuilder">
-<h1>Appendix B. License for PKGBUILDer<a class="headerlink" href="#appendix-b-license-for-pkgbuilder" title="Permalink to this headline">¶</a></h1>
+<h1>5. Appendix B. License for PKGBUILDer<a class="headerlink" href="#appendix-b-license-for-pkgbuilder" title="Permalink to this headline">¶</a></h1>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
@@ -51,9 +54,9 @@
</tr>
<tr class="field"><th class="field-name">Author:</th><td class="field-body">Kwpolska &lt;<a class="reference external" href="mailto:kwpolska&#37;&#52;&#48;kwpolska&#46;tk">kwpolska<span>&#64;</span>kwpolska<span>&#46;</span>tk</a>&gt;</td>
</tr>
-<tr class="field"><th class="field-name">Date:</th><td class="field-body">2011-10-14</td>
+<tr class="field"><th class="field-name">Date:</th><td class="field-body">2011-10-15</td>
</tr>
-<tr class="field"><th class="field-name">Version:</th><td class="field-body">2.1.2.1</td>
+<tr class="field"><th class="field-name">Version:</th><td class="field-body">2.1.2.2</td>
</tr>
</tbody>
</table>
@@ -94,7 +97,7 @@
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
<p class="topless"><a href="../messagecodes/"
- title="previous chapter">Appendix A. PKGBUILDer message numbers list</a></p>
+ title="previous chapter">4. Appendix A. PKGBUILDer message numbers list</a></p>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search/" method="get">
@@ -116,14 +119,17 @@
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
- <a href="../messagecodes/" title="Appendix A. PKGBUILDer message numbers list"
- >previous</a></li>
- <li><a href="../">PKGBUILDer v2.1.2.1 documentation</a> &raquo;</li>
+ <a href="../py-modindex/" title="Python Module Index"
+ >modules</a></li>
+ <li class="right" >
+ <a href="../messagecodes/" title="4. Appendix A. PKGBUILDer message numbers list"
+ >previous</a> |</li>
+ <li><a href="../">PKGBUILDer v2.1.2.2 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2011, Kwpolska.
- Last updated on 2011-10-14T20:10:37Z.
+ Last updated on 2011-10-15T20:10:05Z.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
</body>
View
68 docs/html/README/index.html
@@ -7,13 +7,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>README for PKGBUILDer &mdash; PKGBUILDer v2.1.2.1 documentation</title>
+ <title>3. README for PKGBUILDer &mdash; PKGBUILDer v2.1.2.2 documentation</title>
<link rel="stylesheet" href="../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
- VERSION: '2.1.2.1',
+ VERSION: '2.1.2.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '',
HAS_SOURCE: true
@@ -22,21 +22,24 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <link rel="top" title="PKGBUILDer v2.1.2.1 documentation" href="../" />
- <link rel="next" title="Appendix A. PKGBUILDer message numbers list" href="../messagecodes/" />
- <link rel="prev" title="PKGBUILDer" href="../pkgbuilder/" />
+ <link rel="top" title="PKGBUILDer v2.1.2.2 documentation" href="../" />
+ <link rel="next" title="4. Appendix A. PKGBUILDer message numbers list" href="../messagecodes/" />
+ <link rel="prev" title="2. title" href="../classes/" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
- <a href="../messagecodes/" title="Appendix A. PKGBUILDer message numbers list"
- accesskey="N">next</a></li>
+ <a href="../py-modindex/" title="Python Module Index"
+ >modules</a></li>
<li class="right" >
- <a href="../pkgbuilder/" title="PKGBUILDer"
+ <a href="../messagecodes/" title="4. Appendix A. PKGBUILDer message numbers list"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="../classes/" title="2. title"
accesskey="P">previous</a> |</li>
- <li><a href="../">PKGBUILDer v2.1.2.1 documentation</a> &raquo;</li>
+ <li><a href="../">PKGBUILDer v2.1.2.2 documentation</a> &raquo;</li>
</ul>
</div>
@@ -46,7 +49,7 @@
<div class="body">
<div class="section" id="readme-for-pkgbuilder">
-<h1>README for PKGBUILDer<a class="headerlink" href="#readme-for-pkgbuilder" title="Permalink to this headline">¶</a></h1>
+<h1>3. README for PKGBUILDer<a class="headerlink" href="#readme-for-pkgbuilder" title="Permalink to this headline">¶</a></h1>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
@@ -55,25 +58,25 @@
</tr>
<tr class="field"><th class="field-name">Author:</th><td class="field-body">Kwpolska &lt;<a class="reference external" href="mailto:kwpolska&#37;&#52;&#48;kwpolska&#46;tk">kwpolska<span>&#64;</span>kwpolska<span>&#46;</span>tk</a>&gt;</td>
</tr>
-<tr class="field"><th class="field-name">Date:</th><td class="field-body">2011-10-14</td>
+<tr class="field"><th class="field-name">Date:</th><td class="field-body">2011-10-15</td>
</tr>
-<tr class="field"><th class="field-name">Version:</th><td class="field-body">2.1.2.1</td>
+<tr class="field"><th class="field-name">Version:</th><td class="field-body">2.1.2.2</td>
</tr>
</tbody>
</table>
<div class="section" id="pkgbuilder-a-python-aur-helper-library">
-<h2>PKGBUILDer. A Python AUR helper/library.<a class="headerlink" href="#pkgbuilder-a-python-aur-helper-library" title="Permalink to this headline">¶</a></h2>
+<h2>3.1. PKGBUILDer. A Python AUR helper/library.<a class="headerlink" href="#pkgbuilder-a-python-aur-helper-library" title="Permalink to this headline">¶</a></h2>
<div class="section" id="purpose">
-<h3>PURPOSE<a class="headerlink" href="#purpose" title="Permalink to this headline">¶</a></h3>
+<h3>3.1.1. PURPOSE<a class="headerlink" href="#purpose" title="Permalink to this headline">¶</a></h3>
<p>Building and installing AUR packages.</p>
</div>
<div class="section" id="installation">
-<h3>INSTALLATION<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h3>
+<h3>3.1.2. INSTALLATION<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h3>
<p>Copy pkgbuilder.py to /usr/bin or ~/bin. You need to install
pyalpm from [extra] and python3-aur from the AUR.</p>
</div>
<div class="section" id="notes">
-<h3>NOTES<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h3>
+<h3>3.1.3. NOTES<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h3>
<p>This is Version 2 of PKGBUILDer. The original Perl version is included,
but it shall not be used.</p>
<p>Version 2.1 is a big leap forward. It introduces many new features.
@@ -83,7 +86,7 @@
docs/html.</p>
</div>
<div class="section" id="copyright">
-<h3>COPYRIGHT<a class="headerlink" href="#copyright" title="Permalink to this headline">¶</a></h3>
+<h3>3.1.4. COPYRIGHT<a class="headerlink" href="#copyright" title="Permalink to this headline">¶</a></h3>
<p>Copyright (C) 2011, Kwpolska
All rights reserved.</p>
<p>Redistribution and use in source and binary forms, with or without
@@ -123,12 +126,12 @@
<div class="sphinxsidebarwrapper">
<h3><a href="../">Table Of Contents</a></h3>
<ul>
-<li><a class="reference internal" href="#">README for PKGBUILDer</a><ul>
-<li><a class="reference internal" href="#pkgbuilder-a-python-aur-helper-library">PKGBUILDer. A Python AUR helper/library.</a><ul>
-<li><a class="reference internal" href="#purpose">PURPOSE</a></li>
-<li><a class="reference internal" href="#installation">INSTALLATION</a></li>
-<li><a class="reference internal" href="#notes">NOTES</a></li>
-<li><a class="reference internal" href="#copyright">COPYRIGHT</a></li>
+<li><a class="reference internal" href="#">3. README for PKGBUILDer</a><ul>
+<li><a class="reference internal" href="#pkgbuilder-a-python-aur-helper-library">3.1. PKGBUILDer. A Python AUR helper/library.</a><ul>
+<li><a class="reference internal" href="#purpose">3.1.1. PURPOSE</a></li>
+<li><a class="reference internal" href="#installation">3.1.2. INSTALLATION</a></li>
+<li><a class="reference internal" href="#notes">3.1.3. NOTES</a></li>
+<li><a class="reference internal" href="#copyright">3.1.4. COPYRIGHT</a></li>
</ul>
</li>
</ul>
@@ -136,11 +139,11 @@
</ul>
<h4>Previous topic</h4>
- <p class="topless"><a href="../pkgbuilder/"
- title="previous chapter">PKGBUILDer</a></p>
+ <p class="topless"><a href="../classes/"
+ title="previous chapter">2. title</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../messagecodes/"
- title="next chapter">Appendix A. PKGBUILDer message numbers list</a></p>
+ title="next chapter">4. Appendix A. PKGBUILDer message numbers list</a></p>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search/" method="get">
@@ -162,17 +165,20 @@
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
- <a href="../messagecodes/" title="Appendix A. PKGBUILDer message numbers list"
- >next</a></li>
+ <a href="../py-modindex/" title="Python Module Index"
+ >modules</a></li>
+ <li class="right" >
+ <a href="../messagecodes/" title="4. Appendix A. PKGBUILDer message numbers list"
+ >next</a> |</li>
<li class="right" >
- <a href="../pkgbuilder/" title="PKGBUILDer"
+ <a href="../classes/" title="2. title"
>previous</a> |</li>
- <li><a href="../">PKGBUILDer v2.1.2.1 documentation</a> &raquo;</li>
+ <li><a href="../">PKGBUILDer v2.1.2.2 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2011, Kwpolska.
- Last updated on 2011-10-14T20:10:37Z.
+ Last updated on 2011-10-15T20:10:05Z.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
</body>
View
84 docs/html/_modules/index.html
@@ -0,0 +1,84 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Overview: module code &mdash; PKGBUILDer v2.1.2.2 documentation</title>
+ <link rel="stylesheet" href="../_static/default.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '2.1.2.2',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="PKGBUILDer v2.1.2.2 documentation" href="../" />
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../py-modindex/" title="Python Module Index"
+ >modules</a></li>
+ <li><a href="../">PKGBUILDer v2.1.2.2 documentation</a> &raquo;</li>
+ </ul>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <h1>All modules for which code is available</h1>
+<ul><li><a href="PKGBUILDer/">PKGBUILDer</a></li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+<div id="searchbox" style="display: none">
+ <h3>Quick search</h3>
+ <form class="search" action="../search/" method="get">
+ <input type="text" name="q" size="18" />
+ <input type="submit" value="Go" />
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+ <p class="searchtip" style="font-size: 90%">
+ Enter search terms or a module, class or function name.
+ </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../py-modindex/" title="Python Module Index"
+ >modules</a></li>
+ <li><a href="../">PKGBUILDer v2.1.2.2 documentation</a> &raquo;</li>
+ </ul>
+ </div>
+ <div class="footer">
+ &copy; Copyright 2011, Kwpolska.
+ Last updated on 2011-10-15T20:10:05Z.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
+ </div>
+ </body>
+</html>
View
81 docs/html/_sources/AUR.txt
@@ -0,0 +1,81 @@
+=========
+AUR class
+=========
+
+.. module:: PKGBUILDer
+ :synopsis: a Python AUR helper/library
+.. versionadded:: 2.1.0.0
+
+:Author: Kwpolska
+:Copyright: See Appendix B.
+:Date: 2011-10-14
+:Version: 2.1.2.1
+
+.. class:: AUR
+
+:Arguments: none.
+
+This is the class used for calling the AUR API. It defines four methods:
+
+
+.. method:: request(rtype, arg[, prot])
+
+:Arguments: request type, argument (package name), protocol.
+:Input: none.
+:Output: none.
+:Returns: data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a request and returns data. Valid types of requests are listed on
+the `AUR API's page`_. Currently tested and working ones are:
+
++-------------+-----------------------------------+
++ name | purpose |
++=============+===================================+
+| info | get info about `arg` |
++-------------+-----------------------------------+
+| search | search for `arg` in the AUR |
++-------------+-----------------------------------+
+| maintsearch | show packages maintained by `arg` |
++-------------+-----------------------------------+
+
+multiinfo is implemented in another function, :meth:`multiinfo()`.
+
+.. _`AUR API's page`: http://aur.archlinux.org/rpc.php
+
+.. method:: multiinfo(args[, prot])
+
+:Arguments: a list of packages, protocol.
+:Input: none.
+:Output: none.
+:Returns: data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a multiinfo request. A multiinfo request can retrieve information
+for multiple packages.
+
+.. method:: jsonreq(rtype, arg[, prot])
+
+:Arguments: request type, argument (package name), protocol.
+:Input: none.
+:Output: none.
+:Returns: JSON data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a :meth:`request()`, but returns plain JSON data. Valid values of
+`rtype` are listed in :meth:`request()`'s documentation.
+
+.. method:: jsonmultiinfo(args[, prot])
+
+:Arguments: a list of packages, protocol.
+:Input: none.
+:Output: none.
+:Returns: JSON data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a :meth:`multiinfo()` request, but returns plain JSON data.
+
View
70 docs/html/_sources/Build.txt
@@ -0,0 +1,70 @@
+.. todo
+===========
+Build class
+===========
+
+.. module:: PKGBUILDer
+ :synopsis: a Python AUR helper/library
+.. versionadded:: 2.1.0.0
+
+:Author: Kwpolska
+:Copyright: See Appendix B.
+:Date: 2011-10-14
+:Version: 2.1.2.1
+
+.. class:: Build
+
+:Arguments: none.
+
+This is the class for building packages. It defines two base methods and
+four additional functions.
+
+.. method:: auto_build(pkgname[, validate][, depcheck])
+
+:Arguments: package name, validate installation, perform dependency checks.
+:Input: none.
+:Output: text.
+:Returns: nothing.
+:Exceptions: PBError.
+:Message codes:
+ ERR3301, ERR34?? (ERR3401, ERR3450, ERR3451, ERR3452), INF3450.
+:Former data:
+ 2.0 Name: build.
+
+This is a function that handles building packages automatically. This is
+the recommended way of building packages through PKGBUILDer.
+
+.. method:: build_runner(pkgname[, depcheck])
+
+:Arguments: package, perform dependency checks.
+:Input: none.
+:Output: text.
+:Returns: ::
+
+ [makepkg's retcode OR 3 if fails OR 16 if needs an AUR dep,
+ [AUR deps or error source]
+ ]
+
+:Exceptions: PBError.
+:Message codes: ERR3001, ERR3201, ERR3202.
+:Former data:
+ 2.0 Behavior: all functions inside
+
+ 2.0 Name: buildSub
+
+This is the function running building. It is not supposed to be used
+standalone, because it is embedded by :meth:`auto_build()`.
+
+.. note::
+
+ The return codes of this function work bad. Using :meth:`auto_build()`
+ eliminates this problem.
+
+----
+.. automethod:: pkgbuilder.Build.download
+
+.. automethod:: pkgbuilder.Build.extract
+
+.. automethod:: pkgbuilder.Build.prepare_deps
+
+.. automethod:: pkgbuilder.Build.depcheck
View
4 docs/html/_sources/LICENSE.txt
@@ -3,8 +3,8 @@ Appendix B. License for PKGBUILDer
==================================
:Info: This is an appendix to the PKGBUILDer documentation.
:Author: Kwpolska <kwpolska@kwpolska.tk>
-:Date: 2011-10-14
-:Version: 2.1.2.1
+:Date: 2011-10-15
+:Version: 2.1.2.2
Copyright (C) 2011, Kwpolska
All rights reserved.
View
73 docs/html/_sources/PBDS.txt
@@ -0,0 +1,73 @@
+==========
+PBDS class
+==========
+
+.. module:: PKGBUILDer
+ :synopsis: a Python AUR helper/library
+.. versionadded:: 2.1.0.0
+
+:Author: Kwpolska
+:Copyright: See Appendix B.
+:Date: 2011-10-14
+:Version: 2.1.2.1
+
+.. class:: PBDS
+
+:Arguments: none.
+
+This is the class used for storing data. Currently, it stores this
+information:
+
++-----------+---------------------------------------+-------------------+
+| variable | contents/usage | default |
++===========+=======================================+===================+
+| colors | colors currently used in the script | [colors]_ |
++-----------+---------------------------------------+-------------------+
+| pacman | using wrapper-friendly behavior[beh]? | False |
++-----------+---------------------------------------+-------------------+
+| validate | validating package installation? | True |
++-----------+---------------------------------------+-------------------+
+| depcheck | checking if deps are installed? | True |
++-----------+---------------------------------------+-------------------+
+
+
+.. [beh] *wrapper-friendly behavior* (-S): building in /tmp;
+ :meth:`Utils.print_package` says aur/name
+
+.. [colors] Code below.
+
+::
+
+ self.colors = {
+ 'all_off': '\x1b[1;0m',
+ 'bold': '\x1b[1;1m',
+ 'blue': '\x1b[1;1m\x1b[1;34m',
+ 'green': '\x1b[1;1m\x1b[1;32m',
+ 'red': '\x1b[1;1m\x1b[1;31m',
+ 'yellow': '\x1b[1;1m\x1b[1;33m'
+ }
+
+
+It also has two methods:
+
+.. method:: colorson()
+
+:Arguments: none.
+:Input: none.
+:Output: none.
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+
+Turns colors on.
+
+.. method:: colorsoff().
+
+:Arguments: none.
+:Input: none.
+:Output: none.
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+
+Turns colors off.
View
4 docs/html/_sources/README.txt
@@ -3,8 +3,8 @@ README for PKGBUILDer
=====================
:Info: This is the README file for PKGBUILDer.
:Author: Kwpolska <kwpolska@kwpolska.tk>
-:Date: 2011-10-14
-:Version: 2.1.2.1
+:Date: 2011-10-15
+:Version: 2.1.2.2
PKGBUILDer. A Python AUR helper/library.
=========================================
View
69 docs/html/_sources/Utils.txt
@@ -0,0 +1,69 @@
+===========
+Utils class
+===========
+
+.. module:: PKGBUILDer
+ :synopsis: a Python AUR helper/library
+.. versionadded:: 2.1.0.0
+
+:Author: Kwpolska
+:Copyright: See Appendix B.
+:Date: 2011-10-14
+:Version: 2.1.2.1
+
+.. class:: Utils
+
+:Arguments: none.
+
+This is the class with many random utilities. It defines three methods:
+
+
+.. method:: info(pkgname)
+
+:Arguments: package name.
+:Input: none.
+:Output: none.
+:Returns: a dict OR None.
+:Exceptions: none.
+:Message codes: none.
+:Former data:
+ 2.1.2.1 Returns: a dict OR False.
+
+ 2.0 Returns: aur_pkgs, list->dict, not null.
+
+ 2.0 Behavior: exception and quit when not found."
+
+Returns information about a package. Almost equivalent to
+:meth:`AUR.request('info', pkgname)`, but returns **`None`** if the package
+doesn't exist.
+
+.. method:: search(pkgname)
+
+:Arguments: package name.
+:Input: none.
+:Output: none.
+:Returns: a list.
+:Exceptions: none.
+:Message codes: none.
+
+Searches for AUR packages and returns them as a list. Almost equivalent
+to :meth:`AUR.request('search', pkgname)`, but returns **`[]`** if no
+packages were found.
+
+.. method:: print_package(pkg[, use_categories][, prefix])
+
+:Arguments: package name, use categories, line prefix.
+:Input: none.
+:Output:
+ ::
+
+ category/name version (num votes) [installed: version] [out of date]
+ description
+
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+:Former data:
+ 2.0 Name: showInfo.
+
+Prints data about package. Format specified above, in the Output field.
View
393 docs/html/_sources/classes.txt
@@ -0,0 +1,393 @@
+*****
+title
+*****
+
+:Author: Kwpolska
+:Copyright: See Appendix B.
+:Date: 2011-10-15
+:Version: 2.1.2.2
+
+.. index:: classes
+.. module:: PKGBUILDer
+ :synopsis: a Python AUR helper/library
+
+some introductory text
+
+PBDS
+====
+
+.. index:: PBDS; DS; Data Storage
+.. versionadded:: 2.1.0.0
+.. class:: PBDS
+
+:Arguments: none.
+
+This is the class used for storing data. Currently, it stores this
+information:
+
++-----------+---------------------------------------+-------------------+
+| variable | contents/usage | default |
++===========+=======================================+===================+
+| colors | colors currently used in the script | [colors]_ |
++-----------+---------------------------------------+-------------------+
+| pacman | using wrapper-friendly behavior[beh]? | False |
++-----------+---------------------------------------+-------------------+
+| validate | validating package installation? | True |
++-----------+---------------------------------------+-------------------+
+| depcheck | checking if deps are installed? | True |
++-----------+---------------------------------------+-------------------+
+
+
+.. [beh] *wrapper-friendly behavior* (-S): building in /tmp;
+ :meth:`Utils.print_package` says aur/name
+
+.. [colors] Code below.
+
+::
+
+ self.colors = {
+ 'all_off': '\x1b[1;0m',
+ 'bold': '\x1b[1;1m',
+ 'blue': '\x1b[1;1m\x1b[1;34m',
+ 'green': '\x1b[1;1m\x1b[1;32m',
+ 'red': '\x1b[1;1m\x1b[1;31m',
+ 'yellow': '\x1b[1;1m\x1b[1;33m'
+ }
+
+
+It also has two methods:
+
+.. method:: colorson()
+
+:Arguments: none.
+:Input: none.
+:Output: none.
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+
+Turns colors on.
+
+.. method:: colorsoff().
+
+:Arguments: none.
+:Input: none.
+:Output: none.
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+
+Turns colors off.
+
+
+AUR
+===
+
+.. index:: AUR; API; RPC
+.. versionadded:: 2.1.0.0
+.. class:: AUR
+
+:Arguments: none.
+
+This is the class used for calling the AUR API. It defines four methods:
+
+
+.. method:: request(rtype, arg[, prot])
+.. index:: request
+
+:Arguments: request type, argument (package name), protocol.
+:Input: none.
+:Output: none.
+:Returns: data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a request and returns data. Valid types of requests are listed on
+the `AUR API's page`_. Currently tested and working ones are:
+
++-------------+-----------------------------------+
++ name | purpose |
++=============+===================================+
+| info | get info about `arg` |
++-------------+-----------------------------------+
+| search | search for `arg` in the AUR |
++-------------+-----------------------------------+
+| maintsearch | show packages maintained by `arg` |
++-------------+-----------------------------------+
+
+multiinfo is implemented in another function, :meth:`multiinfo()`.
+
+.. _`AUR API's page`: http://aur.archlinux.org/rpc.php
+
+.. method:: multiinfo(args[, prot])
+.. index:: multiinfo
+
+:Arguments: a list of packages, protocol.
+:Input: none.
+:Output: none.
+:Returns: data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a multiinfo request. A multiinfo request can retrieve information
+for multiple packages.
+
+.. method:: jsonreq(rtype, arg[, prot])
+
+:Arguments: request type, argument (package name), protocol.
+:Input: none.
+:Output: none.
+:Returns: JSON data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a :meth:`request()`, but returns plain JSON data. Valid values of
+`rtype` are listed in :meth:`request()`'s documentation.
+
+.. method:: jsonmultiinfo(args[, prot])
+
+:Arguments: a list of packages, protocol.
+:Input: none.
+:Output: none.
+:Returns: JSON data from the API.
+:Exceptions: urllib.error.URLError, urllib.error.HTTPError.
+:Message codes: none.
+
+Makes a :meth:`multiinfo()` request, but returns plain JSON data.
+
+Utils
+=====
+
+.. index:: Utils; Utilities
+.. versionadded:: 2.1.0.0
+.. class:: Utils
+
+:Arguments: none.
+
+This is the class with many random utilities. It defines three methods:
+
+
+.. method:: info(pkgname)
+.. index:: info
+
+:Arguments: package name.
+:Input: none.
+:Output: none.
+:Returns: a dict OR None.
+:Exceptions: none.
+:Message codes: none.
+:Former data:
+ 2.1.2.1 Returns: a dict OR False.
+
+ 2.0 Returns: aur_pkgs, list->dict, not null.
+
+ 2.0 Behavior: exception and quit when not found."
+
+Returns information about a package. Almost equivalent to
+:meth:`AUR.request('info', pkgname)`, but returns **`None`** if the package
+doesn't exist.
+
+.. method:: search(pkgname)
+.. index:: search
+
+:Arguments: package name.
+:Input: none.
+:Output: none.
+:Returns: a list.
+:Exceptions: none.
+:Message codes: none.
+
+Searches for AUR packages and returns them as a list. Almost equivalent
+to :meth:`AUR.request('search', pkgname)`, but returns **`[]`** if no
+packages were found.
+
+.. method:: print_package(pkg[, use_categories][, prefix])
+.. index:: print
+
+:Arguments: package name, use categories, line prefix.
+:Input: none.
+:Output:
+ ::
+ prefix category/name version (num votes) [installed: version] [out of date]
+ prefix description
+
+:Returns: nothing.
+:Exceptions: none.
+:Message codes: none.
+:Former data:
+ 2.0 Name: showInfo.
+
+Prints data about `pkg`. Format specified above, in the Output field.
+
+Build
+======
+
+.. index:: Build; makepkg
+.. versionadded:: 2.1.0.0
+.. class:: Build
+
+:Arguments: none.
+
+This is the class for building packages. It defines two base methods and
+four additional ones.
+
+.. method:: auto_build(pkgname[, validate][, depcheck])
+.. index:: makepkg; build
+
+:Arguments: package name, validate installation, perform dependency checks.
+:Input: none.
+:Output: text.
+:Returns: nothing.
+:Exceptions: PBError.
+:Message codes:
+ ERR3301, ERR34?? (ERR3401, ERR3450, ERR3451, ERR3452), INF3450.
+:Former data:
+ 2.0 Name: build.
+
+This is a function that handles building packages automatically. This is
+the recommended way of building packages through PKGBUILDer.
+
+.. method:: build_runner(pkgname[, depcheck])
+.. index:: makepkg; build; validate
+
+:Arguments: package, perform dependency checks.
+:Input: none.
+:Output: text.
+:Returns: ::
+
+ [makepkg's retcode OR 3 if fails OR 16 if needs an AUR dep,
+ [AUR deps or error source]]
+
+:Exceptions: PBError.
+:Message codes: ERR3001, ERR3201, ERR3202.
+:Former data:
+ 2.0 Behavior: all functions inside
+
+ 2.0 Name: buildSub
+
+This is the function running building. It is not supposed to be used
+standalone, because it is embedded by :meth:`auto_build()`.
+
+.. note::
+
+ The return codes of this function work bad. Using :meth:`auto_build()`
+ eliminates this problem.
+
+.. method:: download(urlpath, filename[, prot])
+
+:Arguments: URL, filename for saving, protocol.
+:Input: none.
+:Output: none.
+:Returns: bytes downloaded.
+:Exceptions:
+ PBError, IOError,
+ urllib.error.URLError, urllib.error.HTTPError
+:Message codes: ERR3101.
+
+Downloads an AUR tarball. Data normally provided by :meth:`build_runner()`.
+
+.. method:: extract(filename)
+
+:Arguments: filename.
+:Input: none.
+:Output: none.
+:Returns: file count.
+:Exceptions: PBError, IOError.
+:Message codes: ERR3151.
+
+Extracts an AUR tarball. Data normally provided by :meth:`build_runner()`.
+
+.. method:: prepare_deps(pkgbuild)
+.. index:: depcheck, dependency
+
+:Arguments: PKGBUILD contents
+:Input: none.
+:Output: none.
+:Returns:
+ a list with entries from PKGBUILD's depends and makedepends
+ (can be empty.)
+:Exceptions: IOError.
+:Message codes: none.
+
+Gets (make)depends from a PKGBUILD and returns them.
+
+.. note::
+ `pkgbuild` is a string, not a file handle.
+
+.. method:: depcheck(depends)
+.. index:: depcheck, dependency
+
+:Arguments: a python dependency list.
+:Input: none.
+:Output: none.
+:Returns:
+ a dict, key is the package name, and value is: -1 = nowhere, 0 = system,
+ 1 = repos, 2 = AUR.
+:Exceptions: PBError.
+:Message codes: ERR3201.
+:Suggested way of handling:
+ ::
+ >>> types = ['system', 'repos', 'aur']
+ >>> for pkg, pkgtype in depcheck([...]).items():
+ ... print('{0}: found in {1}'.format(pkg, types[pkgtype])
+ ... if pkgtype == 2: #AUR
+ ... #build pkg here
+
+:Former data:
+ 2.0 Returns: no -1
+
+Performs a dependency check. Data normally provided by
+:meth:`prepare_deps()`.
+
+.. TODO
+
+Upgrade
+=======
+
+.. index:: Upgrade; Update; Syu
+.. versionadded:: 2.1.0.0
+.. class:: Upgrade
+
+:Arguments: none.
+
+This is the class for upgrading the installed packages. It defines one base
+method and two additional ones.
+
+.. method:: auto_upgrade()
+.. index:: upgrade
+
+:Arguments: none.
+:Input: user interaction.
+:Output: text.
+:Returns: 0 or nothing.
+:Exceptions: none.
+:Message codes: none.
+:Notice: things break here A LOT.
+
+Upgrades packages. Simillar to :meth:`Build.auto_build()`.
+
+.. method:: gather_foreign_packages()
+.. index:: foreign
+
+:Arguments: none.
+:Input: none.
+:Output: none.
+:Returns: foreign packages.
+:Exceptions: none.
+:Message codes: none.
+
+Gathers a list of all foreign packages.
+
+.. method:: list_upgradeable(pkglist)
+
+:Arguments: a package list.
+:Input:
+ a list of packages to be compared.
+
+ suggestion: self.gather_foreign_pkgs().keys()
+:Output: none.
+:Returns: upgradeable packages.
+:Exceptions: none.
+:Message codes: none.
+
+Compares package versions and returns upgradeable ones.
View
17 docs/html/_sources/index.txt
@@ -3,22 +3,23 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
-PKGBUILDer 2.1.2.1 documentation
+PKGBUILDer 2.1.2.2 documentation
================================
Contents:
.. toctree::
- :maxdepth: 2
+ :numbered:
pkgbuilder
+ classes
README
messagecodes
LICENSE
-.. Indices and tables
-.. ==================
-..
-.. * :ref:`genindex`
-.. * :ref:`modindex`
-.. * :ref:`search`
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
View
4 docs/html/_sources/messagecodes.txt
@@ -3,8 +3,8 @@ Appendix A. PKGBUILDer message numbers list
===========================================
:Info: This is an appendix to the PKGBUILDer documentation.
:Author: Kwpolska <kwpolska@kwpolska.tk>
-:Date: 2011-10-14
-:Version: 2.1.2.1
+:Date: 2011-10-15
+:Version: 2.1.2.2
In order to help debugging, messages are numbered.
Each message number has four digits: the first one is the
View
8 docs/html/_sources/pkgbuilder.txt
@@ -2,14 +2,10 @@
PKGBUILDer
==========
------------------------------------
-a Python AUR helper/library
------------------------------------
-
:Author: Kwpolska <kwpolska@kwpolska.tk>
:Copyright: See Appendix B.
-:Date: 2011-10-14
-:Version: 2.1.2.1
+:Date: 2011-10-15
+:Version: 2.1.2.2
:Manual section: 8
:Manual group: PKGBUILDer manual
View
811 docs/html/classes/index.html
@@ -0,0 +1,811 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>2. title &mdash; PKGBUILDer v2.1.2.2 documentation</title>
+ <link rel="stylesheet" href="../_static/default.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '2.1.2.2',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="top" title="PKGBUILDer v2.1.2.2 documentation" href="../" />
+ <link rel="next" title="3. README for PKGBUILDer" href="../README/" />
+ <link rel="prev" title="1. PKGBUILDer" href="../pkgbuilder/" />
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../py-modindex/" title="Python Module Index"
+ >modules</a></li>
+ <li class="right" >
+ <a href="../README/" title="3. README for PKGBUILDer"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="../pkgbuilder/" title="1. PKGBUILDer"
+ accesskey="P">previous</a> |</li>
+ <li><a href="../">PKGBUILDer v2.1.2.2 documentation</a> &raquo;</li>
+ </ul>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="title">
+<h1>2. title<a class="headerlink" href="#title" title="Permalink to this headline">¶</a></h1>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Kwpolska</td>
+</tr>
+<tr class="field"><th class="field-name">Copyright:</th><td class="field-body">See Appendix B.</td>
+</tr>
+<tr class="field"><th class="field-name">Date:</th><td class="field-body">2011-10-15</td>
+</tr>
+<tr class="field"><th class="field-name">Version:</th><td class="field-body">2.1.2.2</td>
+</tr>
+</tbody>
+</table>
+<span class="target" id="module-PKGBUILDer"><span id="index-0"></span></span><p>some introductory text</p>
+<div class="section" id="pbds">
+<h2>2.1. PBDS<a class="headerlink" href="#pbds" title="Permalink to this headline">¶</a></h2>
+<p class="versionadded" id="index-1">
+<span class="versionmodified">New in version 2.1.0.0.</span></p>
+<dl class="class">
+<dt id="PKGBUILDer.PBDS">
+<em class="property">class </em><tt class="descclassname">PKGBUILDer.</tt><tt class="descname">PBDS</tt><a class="headerlink" href="#PKGBUILDer.PBDS" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>This is the class used for storing data. Currently, it stores this
+information:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="16%" />
+<col width="57%" />
+<col width="28%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">variable</th>
+<th class="head">contents/usage</th>
+<th class="head">default</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td>colors</td>
+<td>colors currently used in the script</td>
+<td><a class="reference internal" href="#colors">[colors]</a></td>
+</tr>
+<tr><td>pacman</td>
+<td>using wrapper-friendly behavior[beh]?</td>
+<td>False</td>
+</tr>
+<tr><td>validate</td>
+<td>validating package installation?</td>
+<td>True</td>
+</tr>
+<tr><td>depcheck</td>
+<td>checking if deps are installed?</td>
+<td>True</td>
+</tr>
+</tbody>
+</table>
+<table class="docutils citation" frame="void" id="beh" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label">[beh]</td><td><em>wrapper-friendly behavior</em> (-S): building in /tmp;
+<tt class="xref py py-meth docutils literal"><span class="pre">Utils.print_package()</span></tt> says aur/name</td></tr>
+</tbody>
+</table>
+<table class="docutils citation" frame="void" id="colors" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id1">[colors]</a></td><td>Code below.</td></tr>
+</tbody>
+</table>
+<div class="highlight-python"><div class="highlight"><pre><span class="bp">self</span><span class="o">.</span><span class="n">colors</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s">&#39;all_off&#39;</span><span class="p">:</span> <span class="s">&#39;</span><span class="se">\x1b</span><span class="s">[1;0m&#39;</span><span class="p">,</span>
+ <span class="s">&#39;bold&#39;</span><span class="p">:</span> <span class="s">&#39;</span><span class="se">\x1b</span><span class="s">[1;1m&#39;</span><span class="p">,</span>
+ <span class="s">&#39;blue&#39;</span><span class="p">:</span> <span class="s">&#39;</span><span class="se">\x1b</span><span class="s">[1;1m</span><span class="se">\x1b</span><span class="s">[1;34m&#39;</span><span class="p">,</span>
+ <span class="s">&#39;green&#39;</span><span class="p">:</span> <span class="s">&#39;</span><span class="se">\x1b</span><span class="s">[1;1m</span><span class="se">\x1b</span><span class="s">[1;32m&#39;</span><span class="p">,</span>
+ <span class="s">&#39;red&#39;</span><span class="p">:</span> <span class="s">&#39;</span><span class="se">\x1b</span><span class="s">[1;1m</span><span class="se">\x1b</span><span class="s">[1;31m&#39;</span><span class="p">,</span>
+ <span class="s">&#39;yellow&#39;</span><span class="p">:</span> <span class="s">&#39;</span><span class="se">\x1b</span><span class="s">[1;1m</span><span class="se">\x1b</span><span class="s">[1;33m&#39;</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>It also has two methods:</p>
+<dl class="method">
+<dt id="PKGBUILDer.colorson">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">colorson</tt><big>(</big><big>)</big><a class="headerlink" href="#PKGBUILDer.colorson" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body">nothing.</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>Turns colors on.</p>
+<dl class="method">
+<dt>
+<tt class="descname">colorsoff().</tt></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body">nothing.</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>Turns colors off.</p>
+</div>
+<div class="section" id="aur">
+<h2>2.2. AUR<a class="headerlink" href="#aur" title="Permalink to this headline">¶</a></h2>
+<p class="versionadded" id="index-2">
+<span class="versionmodified">New in version 2.1.0.0.</span></p>
+<dl class="class">
+<dt id="PKGBUILDer.AUR">
+<em class="property">class </em><tt class="descclassname">PKGBUILDer.</tt><tt class="descname">AUR</tt><a class="headerlink" href="#PKGBUILDer.AUR" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>This is the class used for calling the AUR API. It defines four methods:</p>
+<dl class="method">
+<dt id="PKGBUILDer.request">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">request</tt><big>(</big><em>rtype</em>, <em>arg</em><span class="optional">[</span>, <em>prot</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#PKGBUILDer.request" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" id="index-3" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">request type, argument (package name), protocol.</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body">data from the API.</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body">urllib.error.URLError, urllib.error.HTTPError.</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>Makes a request and returns data. Valid types of requests are listed on
+the <a class="reference external" href="http://aur.archlinux.org/rpc.php">AUR API&#8217;s page</a>. Currently tested and working ones are:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="27%" />
+<col width="73%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head" rowspan="2">name</th>
+<th class="head" rowspan="2">purpose</th>
+</tr>
+<tr></tr>
+</thead>
+<tbody valign="top">
+<tr><td>info</td>
+<td>get info about <cite>arg</cite></td>
+</tr>
+<tr><td>search</td>
+<td>search for <cite>arg</cite> in the AUR</td>
+</tr>
+<tr><td>maintsearch</td>
+<td>show packages maintained by <cite>arg</cite></td>
+</tr>
+</tbody>
+</table>
+<p>multiinfo is implemented in another function, <a class="reference internal" href="#PKGBUILDer.multiinfo" title="PKGBUILDer.multiinfo"><tt class="xref py py-meth docutils literal"><span class="pre">multiinfo()</span></tt></a>.</p>
+<dl class="method">
+<dt id="PKGBUILDer.multiinfo">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">multiinfo</tt><big>(</big><em>args</em><span class="optional">[</span>, <em>prot</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#PKGBUILDer.multiinfo" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" id="index-4" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">a list of packages, protocol.</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body">data from the API.</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body">urllib.error.URLError, urllib.error.HTTPError.</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>Makes a multiinfo request. A multiinfo request can retrieve information
+for multiple packages.</p>
+<dl class="method">
+<dt id="PKGBUILDer.jsonreq">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">jsonreq</tt><big>(</big><em>rtype</em>, <em>arg</em><span class="optional">[</span>, <em>prot</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#PKGBUILDer.jsonreq" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">request type, argument (package name), protocol.</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body">JSON data from the API.</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body">urllib.error.URLError, urllib.error.HTTPError.</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>Makes a <a class="reference internal" href="#PKGBUILDer.request" title="PKGBUILDer.request"><tt class="xref py py-meth docutils literal"><span class="pre">request()</span></tt></a>, but returns plain JSON data. Valid values of
+<cite>rtype</cite> are listed in <a class="reference internal" href="#PKGBUILDer.request" title="PKGBUILDer.request"><tt class="xref py py-meth docutils literal"><span class="pre">request()</span></tt></a>&#8216;s documentation.</p>
+<dl class="method">
+<dt id="PKGBUILDer.jsonmultiinfo">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">jsonmultiinfo</tt><big>(</big><em>args</em><span class="optional">[</span>, <em>prot</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#PKGBUILDer.jsonmultiinfo" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">a list of packages, protocol.</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body">JSON data from the API.</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body">urllib.error.URLError, urllib.error.HTTPError.</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>Makes a <a class="reference internal" href="#PKGBUILDer.multiinfo" title="PKGBUILDer.multiinfo"><tt class="xref py py-meth docutils literal"><span class="pre">multiinfo()</span></tt></a> request, but returns plain JSON data.</p>
+</div>
+<div class="section" id="utils">
+<h2>2.3. Utils<a class="headerlink" href="#utils" title="Permalink to this headline">¶</a></h2>
+<p class="versionadded" id="index-5">
+<span class="versionmodified">New in version 2.1.0.0.</span></p>
+<dl class="class">
+<dt id="PKGBUILDer.Utils">
+<em class="property">class </em><tt class="descclassname">PKGBUILDer.</tt><tt class="descname">Utils</tt><a class="headerlink" href="#PKGBUILDer.Utils" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>This is the class with many random utilities. It defines three methods:</p>
+<dl class="method">
+<dt id="PKGBUILDer.info">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">info</tt><big>(</big><em>pkgname</em><big>)</big><a class="headerlink" href="#PKGBUILDer.info" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" id="index-6" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body"><p class="first">package name.</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body"><p class="first">none.</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body"><p class="first">none.</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a dict OR None.</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body"><p class="first">none.</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body"><p class="first">none.</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Former data:</th><td class="field-body"><p class="first">2.1.2.1 Returns: a dict OR False.</p>
+<p>2.0 Returns: aur_pkgs, list-&gt;dict, not null.</p>
+<p class="last">2.0 Behavior: exception and quit when not found.&#8221;</p>
+</td>
+</tr>
+</tbody>
+</table>
+<p>Returns information about a package. Almost equivalent to
+<tt class="xref py py-meth docutils literal"><span class="pre">AUR.request('info',</span> <span class="pre">pkgname)()</span></tt>, but returns <strong>`None`</strong> if the package
+doesn&#8217;t exist.</p>
+<dl class="method">
+<dt id="PKGBUILDer.search">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">search</tt><big>(</big><em>pkgname</em><big>)</big><a class="headerlink" href="#PKGBUILDer.search" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" id="index-7" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">package name.</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body">a list.</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>Searches for AUR packages and returns them as a list. Almost equivalent
+to <tt class="xref py py-meth docutils literal"><span class="pre">AUR.request('search',</span> <span class="pre">pkgname)()</span></tt>, but returns <strong>`[]`</strong> if no
+packages were found.</p>
+<dl class="method">
+<dt id="PKGBUILDer.print_package">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">print_package</tt><big>(</big><em>pkg[, use_categories][, prefix]</em><big>)</big><a class="headerlink" href="#PKGBUILDer.print_package" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" id="index-8" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">package name, use categories, line prefix.</td>
+</tr>
+<tr class="field"><th class="field-name">Input:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Output:</th><td class="field-body">::
+prefix category/name version (num votes) [installed: version] [out of date]
+prefix description</td>
+</tr>
+<tr class="field"><th class="field-name">Returns:</th><td class="field-body">nothing.</td>
+</tr>
+<tr class="field"><th class="field-name">Exceptions:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Message codes:</th><td class="field-body">none.</td>
+</tr>
+<tr class="field"><th class="field-name">Former data:</th><td class="field-body">2.0 Name: showInfo.</td>
+</tr>
+</tbody>
+</table>
+<p>Prints data about <cite>pkg</cite>. Format specified above, in the Output field.</p>
+</div>
+<div class="section" id="build">
+<h2>2.4. Build<a class="headerlink" href="#build" title="Permalink to this headline">¶</a></h2>
+<p class="versionadded" id="index-9">
+<span class="versionmodified">New in version 2.1.0.0.</span></p>
+<dl class="class">
+<dt id="PKGBUILDer.Build">
+<em class="property">class </em><tt class="descclassname">PKGBUILDer.</tt><tt class="descname">Build</tt><a class="headerlink" href="#PKGBUILDer.Build" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">none.</td>
+</tr>
+</tbody>
+</table>
+<p>This is the class for building packages. It defines two base methods and
+four additional ones.</p>
+<dl class="method">
+<dt id="PKGBUILDer.auto_build">
+<tt class="descclassname">PKGBUILDer.</tt><tt class="descname">auto_build</tt><big>(</big><em>pkgname[, validate][, depcheck]</em><big>)</big><a class="headerlink" href="#PKGBUILDer.auto_build" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<table class="docutils field-list" frame="void" id="index-10" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Arguments:</th><td class="field-body">package name, validate installation, perform dependency checks.</td>
+</tr>