1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
[categories]
# Category -> Python regular expression.
# Remeber to quote ?, ., + & ? characters to match litterally.
# 'kodos' is useful for interactively testing regular expressions.
All Launchpad=.
All launchpad except opstats=(?<!\+opstats)$
Launchpad Frontpage=^https?://(edge\.)?launchpad\.[^/]+/?$
# Note that the bug text dump is served on the main launchpad domain
# and we need to exlude it from the registry stats.
Registry=^https?://(edge\.)?launchpad\.(?<!/\+text)$
Registry - Person Index=^https?://(edge\.)?launchpad\.[^/]+/(~|%7E)[^/]+$
Registry - Pillar Index=^https?://(edge\.)?launchpad\.[^/]+/\w[^/]*$
Answers=^https?://answers\.
Answers - Front page=^https?://answers\.[^/]+/?$
Blueprints=^https?://blueprints\.
Blueprints - Front page=^https?://blueprints\.[^/]+/?$
# Note that the bug text dump is not served on the bugs domain,
# probably for hysterical reasons. This is why the bugs regexp is
# confusing.
Bugs=^https?://(bugs\.|.+/bugs/\d+/\+text$)
Bugs - Front page=^https?://bugs\.[^/]+/?$
Bugs - Bug Page=^https?://bugs\.[^/]+/.+/\+bug/\d+$
Bugs - Pillar Index=^https?://bugs\.[^/]+/\w[^/]*$
Bugs - Search=^https?://bugs\.[^/]+/.+/\+bugs\?.*field.searchtext=
Bugs - Text Dump=^https?://(edge\.)?launchpad\..+/\+text$
Code=^https?://code\.
Code - Front page=^https?://code\.[^/]+/?$
Code - PPA Index=^https?://code\.[^/]+/.+/\+archive/[^/]+$
Code - Pillar Branches=^https?://code\.[^/]+/\w[^/]*$
Code - Branch Page=^https?://code\.[^/]+/(~|%7E)[^/]+/[^/]+/[^/]+$
Code - Merge Proposal=^https?://code\.[^/]+/.+/\+merge/\d+$
Translations=^https?://translations\.
Translations - Front page=^https?://translations\.[^/]+/?$
Translations - Overview=^https?://translations\..*/\+lang/\w+$
API=^https?://api\.
Public XML-RPC=^https?://xmlrpc\.
Private XML-RPC=^https?://xmlrpc-private\.
Shipit=^https?://shipit\.
|