BugList

Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2007-07-02 08:16:26
Size: 1301
Editor: vpn126
Comment:
Revision 9 as of 2007-07-09 13:37:52
Size: 2694
Editor: a89-182-22-219
Comment: fixed headings and added custom-built filter-functions example
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from BugHelper/Dev/python-launchpad-bugs/API changes/BugList example
Line 4: Line 5:
''' Usage of `LaunchpadConnector` and setting authentification: '''
{{{ import launchpadBugs.Connector as Connector
=== Use `LaunchpadConnector` and setting authentification: ===
{{{ import launchpadbugs.connector as Connector
Line 11: Line 12:
''' Getting a list of bugs and print available information: '''
{{{ l = bl.BugList("https://bugs.launchpad.net/ubuntu/+source/bughelper/+bugs")
=== Getting a list of bugs and print available information: ===
{{{ l = BugList("https://bugs.launchpad.net/ubuntu/+source/bughelper/+bugs")
Line 21: Line 22:
{{{ 88521 https://bugs.launchpad.net/ubuntu/+source/bughelper/+bug/88521 selectively pulling attachments by name Medium Incomplete None
Line 22: Line 24:
''' Adding some (upstream) bugs to the set '''
{{{ l += bl.BugList("https://bugs.launchpad.net/bughelper/+bugs")
88102 https://bugs.launchpad.net/ubuntu/+source/bughelper/+bug/88102 sort report by issue type rather than bug number Undecided Confirmed None
}}}

===
Adding some (upstream) bugs to the set ===
{{{ l += BugList("https://bugs.launchpad.net/bughelper/+bugs")
Line 26: Line 31:
{{{ set([109628, 110937, 88521, 88102, 84723, 88102, 81291, 85152, 88521, 90084, 109547])
}}}
Line 27: Line 34:
''' Setting a filter and filter the set of bugs '''
{{{ bl.set_filter(minbug=100000, filterbug="117701,109628", status="New")
=== Setting a filter and filter the set of bugs ===
{{{ BugList.set_filter(minbug=100000, filterbug="117701,109628", status="New")
Line 32: Line 39:
{{{ set([110937, 109547])
}}}
Line 33: Line 42:
''' add LP urloptions to an url '''
{{{ a = bl.
BugList("https://launchpad.net/ubuntu/+source/apport/+bugs?%s" %bl.URLOPT)
=== Sorting the list of bugs ===
{{{ print l.sort("nr")
}}}
{{{ [109547, 110937]
}}}

===
add LP urloptions to an url ===
{{{ a =
BugList("https://launchpad.net/ubuntu/+source/apport/+bugs?%s" %BugList.urlopt)
Line 37: Line 52:

''' Sorting the list of bugs '''
{{{ print l.sort("nr")
{{{ set([123180, 122818, 123394, 119270, 123440, 87364, 105224, 108482, 95504, 114215, 118407, 118827, 119104, 95822, 121121, 121341, 122196, 123216, 122274, 122347, 122522, 122798, 89916, 122882, 94130, 122859, 123062])
Line 42: Line 55:
''' Raising LPUrlError for invalid urls ''' === Raising `LPUrlError` for invalid urls ===
Line 44: Line 57:
    a = bl.BugList("https://bugs.launchpad.net/ubuntu/+source/firefokkksss/+bugs")     a = BugList("https://bugs.launchpad.net/ubuntu/+source/firefokkksss/+bugs")
Line 46: Line 59:
except bl.LPURLERROR, e: except BugList.Error.LPUrlError, e:
Line 49: Line 62:
{{{
"'Page not found (url: https://bugs.launchpad.net/ubuntu/+source/firefokkksss/+bugs)'"
}}}

=== Use custom-made filter-functions ===
{{{ bl = BugList("https://bugs.launchpad.net/bughelper/+bugs")
def RFE_filter(bugs):
    result = set()
    for b in bugs:
        if b.summary.startswith("RFE"):
            result.add(b)
    return result
            

for b in bl.filter(func=[RFE_filter]).bugs:
    print "%s (%s)" %(b.summary, b.bugnumber)
}}}
{{{ RFE: Web interface to bughelper (81291)
RFE: grep for package version (84723)
}}}

----
Go Back to '''[:BugHelper/Dev]'''.[[BR]]
CategoryBugHelper

This is still work in progress

Example usage of BugList

Use `LaunchpadConnector` and setting authentification:

{{{ import launchpadbugs.connector as Connector

BugList = Connector.ConnectBugList() BugList.authentification = "cookie.txt" }}}

Getting a list of bugs and print available information:

{{{ l = BugList("https://bugs.launchpad.net/ubuntu/+source/bughelper/+bugs") for i in l.bugs:

  • print i.bugnumber, print i.url, print i.summary, print i.importance, print i.status, print i.sourcepackage

}}} {{{ 88521 https://bugs.launchpad.net/ubuntu/+source/bughelper/+bug/88521 selectively pulling attachments by name Medium Incomplete None

88102 https://bugs.launchpad.net/ubuntu/+source/bughelper/+bug/88102 sort report by issue type rather than bug number Undecided Confirmed None }}}

Adding some (upstream) bugs to the set

{{{ l += BugList("https://bugs.launchpad.net/bughelper/+bugs") print l.bugs }}} {{{ set([109628, 110937, 88521, 88102, 84723, 88102, 81291, 85152, 88521, 90084, 109547]) }}}

Setting a filter and filter the set of bugs

{{{ BugList.set_filter(minbug=100000, filterbug="117701,109628", status="New") l = l.filter() print l.bugs }}} {{{ set([110937, 109547]) }}}

Sorting the list of bugs

{{{ print l.sort("nr") }}} {{{ [109547, 110937] }}}

add LP urloptions to an url

{{{ a = BugList("https://launchpad.net/ubuntu/+source/apport/+bugs?%s" %BugList.urlopt) print a.bugs }}} {{{ set([123180, 122818, 123394, 119270, 123440, 87364, 105224, 108482, 95504, 114215, 118407, 118827, 119104, 95822, 121121, 121341, 122196, 123216, 122274, 122347, 122522, 122798, 89916, 122882, 94130, 122859, 123062]) }}}

Raising `LPUrlError` for invalid urls

{{{ try:

except BugList.Error.LPUrlError, e:

  • print e

}}}

"'Page not found (url: https://bugs.launchpad.net/ubuntu/+source/firefokkksss/+bugs)'"

Use custom-made filter-functions

{{{ bl = BugList("https://bugs.launchpad.net/bughelper/+bugs") def RFE_filter(bugs):

  • result = set() for b in bugs:
    • if b.summary.startswith("RFE"):
      • result.add(b)
    return result

for b in bl.filter(func=[RFE_filter]).bugs:

  • print "%s (%s)" %(b.summary, b.bugnumber)

}}} {{{ RFE: Web interface to bughelper (81291) RFE: grep for package version (84723) }}}


Go Back to [:BugHelper/Dev].BR CategoryBugHelper

BugHelper/Dev/python-launchpad-bugs/BugList (last edited 2008-08-06 17:01:38 by localhost)